summaryrefslogtreecommitdiffstats
path: root/games/zennode
diff options
context:
space:
mode:
Diffstat (limited to 'games/zennode')
-rw-r--r--games/zennode/README16
-rw-r--r--games/zennode/slack-desc14
-rw-r--r--games/zennode/zennode-tools.688
-rw-r--r--games/zennode/zennode-tools.rst74
-rw-r--r--games/zennode/zennode.64
-rw-r--r--games/zennode/zennode.SlackBuild40
-rw-r--r--games/zennode/zennode.info6
7 files changed, 212 insertions, 30 deletions
diff --git a/games/zennode/README b/games/zennode/README
index 4cbc1c9b0a..32bf96e05d 100644
--- a/games/zennode/README
+++ b/games/zennode/README
@@ -1,4 +1,16 @@
zennode (node builder for Doom and related games)
-Note: the ZenNode "compare" utility is installed as /usr/bin/zn-compare,
-to avoid conflicting with /usr/bin/compare from the imagemagick package.
+ZenNode will read the level description from a .WAD file and create
+either a new BLOCKMAP resource, REJECT resource, and/or NODES, SEGS,
+SSECTOR resources. Levels in a .WAD may be specified on the command
+line, or, if none are specified, all of the maps in a .WAD will be
+rebuilt.
+
+ZenNode supports Doom, Doom II, Heretic, Hexen, and Strife.
+
+Notes:
+
+- ZenNode does NOT create GL nodes. Use glbsp or zdbsp for that.
+
+- The ZenNode compare utility is installed as /usr/games/zn-compare,
+ to avoid conflicting with /usr/bin/compare from ImageMagick.
diff --git a/games/zennode/slack-desc b/games/zennode/slack-desc
index fd7e8c0b5f..605fb5ebe2 100644
--- a/games/zennode/slack-desc
+++ b/games/zennode/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-zennode: zennode (node builder for Doom maps)
-zennode:
-zennode: Node builder for Doom maps.
-zennode:
-zennode:
-zennode:
-zennode:
+zennode: zennode (node builder for Doom and related games)
zennode:
+zennode: ZenNode will read the level description from a .WAD file and create
+zennode: either a new BLOCKMAP resource, REJECT resource, and/or NODES, SEGS,
+zennode: SSECTOR resources. Levels in a .WAD may be specified on the command
+zennode: line, or, if none are specified, all of the maps in a .WAD will be
+zennode: rebuilt.
zennode:
+zennode: ZenNode supports Doom, Doom II, Heretic, Hexen, and Strife.
zennode:
zennode:
diff --git a/games/zennode/zennode-tools.6 b/games/zennode/zennode-tools.6
new file mode 100644
index 0000000000..f8aa491558
--- /dev/null
+++ b/games/zennode/zennode-tools.6
@@ -0,0 +1,88 @@
+.\" 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 "ZENNODE-TOOLS" 6 "2021-10-11" "1.2.1" "SlackBuilds.org"
+.SH NAME
+zennode-tools \- get information on .wad files
+.\" RST source for zennode-tools(6) man page. Convert with:
+.
+.\" rst2man.py zennode-tools.rst > zennode-tools.6
+.
+.\" rst2man.py comes from the SBo development/docutils package.
+.
+.SH SYNOPSIS
+.nf
+bspdiff \fIfilename1\fP[\fI\&.wad\fP] \fIfilename2\fP[\fI\&.wad\fP] [\fIlevel\fP[\fI+level\fP]]
+bspinfo [\fI\-t\fP] \fIfilename\fP[\fI\&.wad\fP] [\fIlevel\fP[\fI+level\fP]]
+zn\-compare \fIfilename1\fP[\fI\&.wad\fP] \fIfilename2\fP[\fI\&.wad\fP] [\fIlevel\fP[\fI+level\fP]]
+.fi
+.sp
+.SH DESCRIPTION
+.sp
+This man page briefly documents the tools that ship with \fIZenNode\fP(6):
+\fIbspdiff\fP, \fIbspinfo\fP, and \fIzn\-compare\fP\&.
+.sp
+\fIbspdiff\fP compares the BSP trees of two .wad files and displays the
+point at which they differ. Since the BSP is essentially a binary
+tree, a single difference in a partition for a given group of SEGS
+will create a tree that is radically different for all points below
+that node.
+.sp
+\fIbspinfo\fP reports statistics that describe the BSP tree(s) of a
+\&.wad file. It can be used to give you a feel of how particular BSP
+builders are performing.
+.sp
+\fIzn\-compare\fP is a simple utility to compare two REJECT maps and
+display any differences between them. The command line syntax
+is similar to that of ZenNode except that two .wad files must be
+specified. After loading each .wad file, the list of levels in each
+file is compared and for each matching level, the REJECT maps are
+compared and the results displayed.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-t
+display NODE tree (\fIbspinfo\fP only)
+.UNINDENT
+.SH COPYRIGHT
+.sp
+See the file /usr/doc/zennode\-1.2.1/COPYING for license information.
+.SH AUTHORS
+.sp
+\fIZenNode\fP was written by Marc Rousseau.
+.sp
+This man page was written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+.SH SEE ALSO
+.sp
+\fIzennode\fP(6)
+.sp
+The full documentation at /usr/doc/zennode\-1.2.1/index.html
+.\" Generated by docutils manpage writer.
+.
diff --git a/games/zennode/zennode-tools.rst b/games/zennode/zennode-tools.rst
new file mode 100644
index 0000000000..d29a23977b
--- /dev/null
+++ b/games/zennode/zennode-tools.rst
@@ -0,0 +1,74 @@
+.. RST source for zennode-tools(6) man page. Convert with:
+.. rst2man.py zennode-tools.rst > zennode-tools.6
+.. rst2man.py comes from the SBo development/docutils package.
+
+.. |version| replace:: 1.2.1
+.. |date| date::
+
+=============
+zennode-tools
+=============
+
+-----------------------------
+get information on .wad files
+-----------------------------
+
+:Manual section: 6
+:Manual group: SlackBuilds.org
+:Date: |date|
+:Version: |version|
+
+SYNOPSIS
+========
+
+| bspdiff *filename1*\[*.wad*] *filename2*\[*.wad*] [*level*\[*+level*]]
+| bspinfo [*-t*] *filename*\[*.wad*] [*level*\[*+level*]]
+| zn-compare *filename1*\[*.wad*] *filename2*\[*.wad*] [*level*\[*+level*]]
+
+DESCRIPTION
+===========
+
+This man page briefly documents the tools that ship with *ZenNode*\(6):
+*bspdiff*, *bspinfo*, and *zn-compare*.
+
+*bspdiff* compares the BSP trees of two .wad files and displays the
+point at which they differ. Since the BSP is essentially a binary
+tree, a single difference in a partition for a given group of SEGS
+will create a tree that is radically different for all points below
+that node.
+
+*bspinfo* reports statistics that describe the BSP tree(s) of a
+.wad file. It can be used to give you a feel of how particular BSP
+builders are performing.
+
+*zn-compare* is a simple utility to compare two REJECT maps and
+display any differences between them. The command line syntax
+is similar to that of ZenNode except that two .wad files must be
+specified. After loading each .wad file, the list of levels in each
+file is compared and for each matching level, the REJECT maps are
+compared and the results displayed.
+
+OPTIONS
+=======
+
+-t display NODE tree (*bspinfo* only)
+
+COPYRIGHT
+=========
+
+See the file /usr/doc/zennode-|version|/COPYING for license information.
+
+AUTHORS
+=======
+
+*ZenNode* was written by Marc Rousseau.
+
+This man page was written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+
+SEE ALSO
+========
+
+*zennode*\(6)
+
+The full documentation at /usr/doc/zennode-|version|/index.html
diff --git a/games/zennode/zennode.6 b/games/zennode/zennode.6
index 696d1cfbd6..bfcd68d6b2 100644
--- a/games/zennode/zennode.6
+++ b/games/zennode/zennode.6
@@ -1,4 +1,4 @@
-.TH zennode "6" "March 2012" "SlackBuilds.org" "Games"
+.TH zennode "6" "October 2021" "ZenNode 1.2.1" "SlackBuilds.org"
.SH NAME
zennode \- build nodes for Doom and related games
.SH SYNOPSIS
@@ -62,7 +62,7 @@ Doom, Doom II, Ultimate Doom, Heretic, Hexen, Strife
.SH "SEE ALSO"
The main documentation at
.nh
-.B @DOCDIR@
+.B @DOCDIR@index.html
.hy
.br
The
diff --git a/games/zennode/zennode.SlackBuild b/games/zennode/zennode.SlackBuild
index 58d53c9107..64b75d0e16 100644
--- a/games/zennode/zennode.SlackBuild
+++ b/games/zennode/zennode.SlackBuild
@@ -2,10 +2,14 @@
# Slackware build script for zennode
-# Written by B. Watson (yalhcru@gmail.com)
+# Written by B. Watson (urchlay@slackware.uk)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20211011 bkw: BUILD=3
+# - flesh out slack-desc with some real information.
+# - add man pages for the other tools.
+
# 20180215 bkw: BUILD=2, move binary to /usr/games
cd $(dirname $0) ; CWD=$(pwd)
@@ -24,9 +28,6 @@ if [ -z "$ARCH" ]; then
esac
fi
-# 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
@@ -59,15 +60,16 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $ZIPNAME-$VERSION
-unzip $CWD/$PRGNAM-$VERSION.zip
+
+# 20211011 bkw: the -x stuff skips extracting the prebuilt binaries
+# and saves ~700KB in /tmp.
+unzip $CWD/$PRGNAM-$VERSION.zip -x '*/linux*/*' '*/win32/*'
cd $ZIPNAME-$VERSION
unzip $PRGNAM-src.zip
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
+
+# 20211011 bkw: permissions suck, do not revert to template.
+find . -type d -exec chmod 755 {} + -o -type f -exec chmod 644 {} +
# Don't install "compare" as /usr/bin/compare, it conflicts with imagemagick.
# This patch just adds a note to compare.html explaining the situation.
@@ -84,17 +86,23 @@ cd src/$ZIPNAME
ln -s $PRGNAM $PKG/usr/games/$ZIPNAME
cd -
-# man page written for this SlackBuild
+# Man pages written for this SlackBuild. The main zennode.6 was written
+# in raw troff, because I knew no better way to do it back then. The
+# tools man page is generated from zennode-tools.rst, q.v.
+PKGMAN6=$PKG/usr/man/man6
mkdir -p $PKG/usr/man/man6
sed "s,@DOCDIR@,/usr/doc/$PRGNAM-$VERSION/," < $CWD/$PRGNAM.6 \
- | gzip -c > $PKG/usr/man/man6/$PRGNAM.6.gz
+ | gzip -c > $PKGMAN6/$PRGNAM.6.gz
+ln -s $PRGNAM.6.gz $PKGMAN6/$ZIPNAME.6.gz
-# install docs with "install -m0644" rather than "cp -a" because upstream's
-# permissions aren't what we want.
+gzip -9c < $CWD/zennode-tools.6 > $PKGMAN6/zennode-tools.6.gz
+for i in bspdiff bspinfo zn-compare; do
+ ln -s zennode-tools.6.gz $PKGMAN6/$i.6.gz
+done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/samples
-install -m0644 doc/* src/COPYING $PKG/usr/doc/$PRGNAM-$VERSION
-install -m0644 Samples/* $PKG/usr/doc/$PRGNAM-$VERSION/samples
+cp -a doc/* src/COPYING $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a Samples/* $PKG/usr/doc/$PRGNAM-$VERSION/samples
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/games/zennode/zennode.info b/games/zennode/zennode.info
index 7d5015334f..75c01a1b85 100644
--- a/games/zennode/zennode.info
+++ b/games/zennode/zennode.info
@@ -1,10 +1,10 @@
PRGNAM="zennode"
VERSION="1.2.1"
-HOMEPAGE="http://mrousseau.org/programs/ZenNode/"
-DOWNLOAD="http://mrousseau.org/programs/ZenNode/archives/zennode-1.2.1.zip"
+HOMEPAGE="https://mrousseau.org/programs/ZenNode/"
+DOWNLOAD="https://mrousseau.org/programs/ZenNode/archives/zennode-1.2.1.zip"
MD5SUM="36d5082b48ef1e4f638a38ba1034d058"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="B. Watson"
-EMAIL="yalhcru@gmail.com"
+EMAIL="urchlay@slackware.uk"