games/zork: Updated for version 20211011.

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2021-10-11 16:45:33 -04:00 committed by Willy Sudiarto Raharjo
parent 05954eb925
commit a19c2e14dd
No known key found for this signature in database
GPG key ID: 3F617144D7238786
15 changed files with 265 additions and 34 deletions

View file

@ -8,13 +8,14 @@ Undiscovered Underground (aka "ztuu"). They are owned by Activision,
which released them as free downloads some time ago. The first 3 Zork
games were originally developed by Infocom.
To actually play the games, you'll need a z-code interpreter. Currently
available are frotz and fizmo (text) and zoom (X11). See
To actually play the games, you'll need a z-code interpreter.
Currently available are frotz and fizmo (text) and zoom (X11). See
README.interpreters for details. This build includes a shell script
wrapper so you can run the games from the XFCE or KDE desktop menu,
or by typing the game name (zork1, zork2, zork3, ztuu) from the shell,
provided you have at least one interpreter installed.
This package includes the InvisiClues from the original games (as plain
text, so beware of spoilers). There are also walkthroughs and downloadable
PDF manuals for the first three games here: http://www.ironrealms.com/zork
This package includes the InvisiClues from the original games (as
plain text, so beware of spoilers). There are also walkthroughs
and downloadable PDF manuals for the first three games here:
http://www.ironrealms.com/zork

View file

@ -4,7 +4,7 @@ Name=Zork I
GenericName=Interactive Fiction Game
Comment=Zork: The Great Underground Empire
Icon=zork
Exec=zork1
Exec=/usr/games/zork1
Terminal=true
Type=Application
Categories=Game;AdventureGame;

View file

@ -4,7 +4,7 @@ Name=Zork II
GenericName=Interactive Fiction Game
Comment=Zork: The Wizard of Frobozz
Icon=zork
Exec=zork2
Exec=/usr/games/zork2
Terminal=true
Type=Application
Categories=Game;AdventureGame;

View file

@ -4,7 +4,7 @@ Name=Zork III
GenericName=Interactive Fiction Game
Comment=Zork: The Dungeon Master
Icon=zork
Exec=zork3
Exec=/usr/games/zork3
Terminal=true
Type=Application
Categories=Game;AdventureGame;

View file

@ -4,7 +4,7 @@ Name=Zork TUU
GenericName=Interactive Fiction Game
Comment=Zork: The Undiscovered Underground
Icon=zork
Exec=ztuu
Exec=/usr/games/ztuu
Terminal=true
Type=Application
Categories=Game;AdventureGame;

BIN
games/zork/icons/32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
games/zork/icons/48.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
games/zork/icons/64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

26
games/zork/mkicons.sh Normal file
View file

@ -0,0 +1,26 @@
#!/bin/bash
# 20211011 bkw: create zork icon, part of zork.SlackBuild.
set -e
CWD=$( pwd )
mkdir -p $CWD/icons
DIR=$( mktemp -d )
cd $DIR
wget http://www.ifarchive.org/if-archive/infocom/icons/ZorkLetters.zip
unzip ZorkLetters.zip 'ZORK?.ICO'
convert +append ZORKZ.ICO ZORKO.ICO zo.png
convert +append ZORKR.ICO ZORKK.ICO rk.png
convert -append zo.png rk.png $CWD/icons/64.png
convert -resize 48x48 $CWD/icons/64.png $CWD/icons/48.png
convert -resize 32x32 $CWD/icons/64.png $CWD/icons/32.png
rm *.ICO *.png *.zip
cd $CWD
rmdir $DIR
exit 0

View file

@ -10,21 +10,24 @@
# files of course have their own version information, but at this late date
# they aren't going to ever change.
# 20211011 bkw:
# - move executables to /usr/games.
# - new-style icons.
# - man page.
# - reflow readme-*.txt (with fmt -s).
# 20140219 bkw: fix .desktop files so they validate.
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=zork
VERSION=${VERSION:-20140219}
VERSION=${VERSION:-20211011}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
ARCH=noarch
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@ -43,49 +46,63 @@ rm -rf $PRGNAM-$VERSION
mkdir $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
# zork 1/2/3 are z-code version 3 (z3), uu is z5.
mkdir -p $PKG/usr/share/zcode $PKG/usr/doc/$PRGNAM-$VERSION/invisiclues
mkdir -p $PKG/usr/share/zcode $PKGDOC/invisiclues
for game in 1 2 3; do
rm -rf *
unzip -a -LL $CWD/zork$game.zip
cat data/zork$game.dat > $PKG/usr/share/zcode/zork$game.z3
cat readme.txt > $PKG/usr/doc/$PRGNAM-$VERSION/readme-zork$game.txt
fmt -s readme.txt > $PKGDOC/readme-zork$game.txt
done
rm -rf *
unzip -a -LL $CWD/ztuu.zip
cat ztuu.z5 > $PKG/usr/share/zcode/ztuu.z5
cat readme.txt > $PKG/usr/doc/$PRGNAM-$VERSION/readme-ztuu.txt
cat invisiclues.txt > $PKG/usr/doc/$PRGNAM-$VERSION/invisiclues/ztuu.txt
cat invisiclues.html > $PKG/usr/doc/$PRGNAM-$VERSION/invisiclues/ztuu.html
fmt -s readme.txt > $PKGDOC/readme-ztuu.txt
cat invisiclues.txt > $PKGDOC/invisiclues/ztuu.txt
cat invisiclues.html > $PKGDOC/invisiclues/ztuu.html
# ztuu has invisiclues in the zip file, add the clues for 1/2/3 also
cat $CWD/ZorkI.inv > $PKG/usr/doc/$PRGNAM-$VERSION/invisiclues/zork1.txt
cat $CWD/ZorkII.inv > $PKG/usr/doc/$PRGNAM-$VERSION/invisiclues/zork2.txt
cat $CWD/ZorkIII.inv > $PKG/usr/doc/$PRGNAM-$VERSION/invisiclues/zork3.txt
cat $CWD/ZorkI.inv > $PKGDOC/invisiclues/zork1.txt
cat $CWD/ZorkII.inv > $PKGDOC/invisiclues/zork2.txt
cat $CWD/ZorkIII.inv > $PKGDOC/invisiclues/zork3.txt
cat $CWD/README.interpreters > $PKG/usr/doc/$PRGNAM-$VERSION/README.interpreters
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/README.interpreters > $PKGDOC/README.interpreters
cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
# Script wrapper and .desktop files written for this SlackBuild
mkdir -p \
$PKG/usr/share/zork \
$PKG/usr/bin \
$PKG/usr/share/applications
$PKG/usr/share/games/zork \
$PKG/usr/games \
$PKG/usr/man/man6 \
$PKG/usr/share/applications \
$PKG/usr/share/pixmaps
install -m0755 $CWD/zork.sh $PKG/usr/share/zork/zorkwrapper.sh
install -m0755 $CWD/zorkwrapper.sh $PKG/usr/share/games/zork/zorkwrapper.sh
gzip -9c < $CWD/zorkwrapper.sh.6 > $PKG/usr/man/man6/zorkwrapper.sh.6.gz
for game in zork1 zork2 zork3 ztuu; do
ln -s ../share/zork/zorkwrapper.sh $PKG/usr/bin/$game
ln -s ../share/games/zork/zorkwrapper.sh $PKG/usr/games/$game
ln -s zorkwrapper.sh.6.gz $PKG/usr/man/man6/$game.6.gz
cat $CWD/desktop/$game.desktop > $PKG/usr/share/applications/$game.desktop
done
ln -s ../share/zork/zorkwrapper.sh $PKG/usr/bin/$PRGNAM
# zork1 => zork, so we have an exe and a man page matching the package name.
ln -s zorkwrapper.sh.6.gz $PKG/usr/man/man6/$PRGNAM.6.gz
ln -s ../share/games/zork/zorkwrapper.sh $PKG/usr/games/$PRGNAM
# Icon converted from Z.ICO here:
# http://www.ifarchive.org/if-archive/infocom/icons/ZorkLetters.zip
mkdir -p $PKG/usr/share/pixmaps
cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
# Icons created with mkicons.sh, q.v.
for i in $CWD/icons/*.png; do
px=$( basename $i | cut -d. -f1 )
size=${px}x${px}
dir=$PKG/usr/share/icons/hicolor/$size/apps
mkdir -p $dir
cat $i > $dir/$PRGNAM.png
done
ln -s ../icons/hicolor/48x48/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png
mkdir -p $PKG/install
sed "s,@VERSION@,$VERSION," $CWD/slack-desc > $PKG/install/slack-desc

View file

@ -1,5 +1,5 @@
PRGNAM="zork"
VERSION="20140219"
VERSION="20211011"
HOMEPAGE="http://www.infocom-if.org/"
DOWNLOAD="http://infocom.elsewhere.org/scheyen/Download/zork1.zip \
http://infocom.elsewhere.org/scheyen/Download/zork2.zip \

Binary file not shown.

Before

Width:  |  Height:  |  Size: 423 B

103
games/zork/zorkwrapper.sh.6 Normal file
View file

@ -0,0 +1,103 @@
.\" Man page generated from reStructuredText.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "ZORKWRAPPER.SH" 6 "2021-10-11" "20211011" "SlackBuilds.org"
.SH NAME
zorkwrapper.sh \- play Infocom Zork games
.\" RST source for zorkwrapper.sh(6) man page. Convert with:
.
.\" rst2man.py zorkwrapper.sh.rst > zorkwrapper.sh.6
.
.\" rst2man.py comes from the SBo development/docutils package.
.
.SH SYNOPSIS
.nf
\fBzork\fP
\fBzork2\fP
\fBzork3\fP
\fBztuu\fP
.fi
.sp
.SH DESCRIPTION
.sp
\fBzorkwrapper.sh\fP runs the Infocom Zork games. It\(aqs installed via
symlinks in the /usr/games directory, so each game can be run by
simply typing its name.
.sp
Supported games:
.INDENT 0.0
.TP
.B \fBzork\fP
Zork I: The Great Underground Empire
.TP
.B \fBzork2\fP
Zork II: The Wizard of Frobozz
.TP
.B \fBzork3\fP
Zork III: The Dungeon Master
.TP
.B \fBztuu\fP
Zork: The Undiscovered Underground
.UNINDENT
.sp
The games are run with the first interpreter found, from the following list:
.INDENT 0.0
.INDENT 3.5
\fBfizmo\fP, \fBfrotz\fP, \fBzoom\fP\&.
.UNINDENT
.UNINDENT
.SH OPTIONS
.sp
There are no options or arguments.
.SH FILES
.sp
\fB/usr/share/games/zork/zorkwrapper.sh\fP is the master copy of the script,
which gets symlinked to the game names in \fB/usr/games\fP\&.
.sp
\fB/usr/share/zcode/\fP contains the Z\-Machine files:
.INDENT 0.0
.INDENT 3.5
\fBzork1.z3\fP, \fBzork2.z3\fP, \fBzork3.z3\fP, \fBztuu.z5\fP
.UNINDENT
.UNINDENT
.SH AUTHORS
.sp
\fBzorkwrapper.sh\fP and this man page were written for the
SlackBuilds.org project by B. Watson, and are licensed under the WTFPL.
.sp
The Zork games are the property of Activision, which released them
as free\-to\-use downloads. See /usr/doc/zork\-20211011/readme\-*.txt
for license information.
.SH SEE ALSO
.sp
\fBfizmo\fP(6), \fBfrotz\fP(6), \fBzoom\fP(6)
.sp
\fI\%http://www.infocom\-if.org/\fP
.\" Generated by docutils manpage writer.
.

View file

@ -0,0 +1,84 @@
.. RST source for zorkwrapper.sh(6) man page. Convert with:
.. rst2man.py zorkwrapper.sh.rst > zorkwrapper.sh.6
.. rst2man.py comes from the SBo development/docutils package.
.. |version| replace:: 20211011
.. |date| date::
==============
zorkwrapper.sh
==============
-----------------------
play Infocom Zork games
-----------------------
:Manual section: 6
:Manual group: SlackBuilds.org
:Date: |date|
:Version: |version|
SYNOPSIS
========
| **zork**
| **zork2**
| **zork3**
| **ztuu**
DESCRIPTION
===========
**zorkwrapper.sh** runs the Infocom Zork games. It's installed via
symlinks in the /usr/games directory, so each game can be run by
simply typing its name.
Supported games:
**zork**
Zork I: The Great Underground Empire
**zork2**
Zork II: The Wizard of Frobozz
**zork3**
Zork III: The Dungeon Master
**ztuu**
Zork: The Undiscovered Underground
The games are run with the first interpreter found, from the following list:
**fizmo**, **frotz**, **zoom**.
OPTIONS
=======
There are no options or arguments.
FILES
=====
**/usr/share/games/zork/zorkwrapper.sh** is the master copy of the script,
which gets symlinked to the game names in **/usr/games**.
**/usr/share/zcode/** contains the Z-Machine files:
**zork1.z3**, **zork2.z3**, **zork3.z3**, **ztuu.z5**
AUTHORS
=======
**zorkwrapper.sh** and this man page were written for the
SlackBuilds.org project by B. Watson, and are licensed under the WTFPL.
The Zork games are the property of Activision, which released them
as free-to-use downloads. See /usr/doc/zork-|version|/readme-\*.txt
for license information.
SEE ALSO
========
**fizmo**\(6), **frotz**\(6), **zoom**\(6)
http://www.infocom-if.org/