summaryrefslogtreecommitdiff
path: root/games/rott
diff options
context:
space:
mode:
Diffstat (limited to 'games/rott')
-rw-r--r--games/rott/README21
-rw-r--r--games/rott/README_gamedata.txt135
-rw-r--r--games/rott/doinst.sh4
-rw-r--r--games/rott/patches/cdrom_version.diff14
-rw-r--r--games/rott/patches/manpage.diff83
-rw-r--r--games/rott/patches/registered_version.diff12
-rw-r--r--games/rott/rott.SlackBuild105
-rw-r--r--games/rott/rott.info12
-rw-r--r--games/rott/rott.sh26
-rw-r--r--games/rott/slack-desc19
10 files changed, 431 insertions, 0 deletions
diff --git a/games/rott/README b/games/rott/README
new file mode 100644
index 0000000000..c47d15054d
--- /dev/null
+++ b/games/rott/README
@@ -0,0 +1,21 @@
+rott (Rise of the Triad, first person shooter game)
+
+Rise of the Triad is a high quality, fast scrolling first-person
+perspective 3D action game. It includes a lot of destructive enemies,
+an arsenal of weapons from simple pistols to missile launchers,
+life-preserving armor, traps and ambushes galore.
+
+WARNING: Rise of the Triad features wanton and gratuitous violence.
+
+In order to play the game, you need the data files from either the retail
+or shareware (demo) version of the game. See README_gamedata.txt for
+details. If you want to include the shareware game data in your Slackware
+package, download the file http://icculus.org/rott/share/1rott13.zip
+and place it in the directory with the SlackBuild script, before running
+the script.
+
+Multiplayer games (aka comm-bat) are NOT truly supported: you can start up
+a comm-bat game, but you can only play by yourself (no actual networking
+code exists in this version of the game).
+
+For more information, see http://www.3drealms.com/rott/
diff --git a/games/rott/README_gamedata.txt b/games/rott/README_gamedata.txt
new file mode 100644
index 0000000000..5994214260
--- /dev/null
+++ b/games/rott/README_gamedata.txt
@@ -0,0 +1,135 @@
+There are at least 3 versions of Rise of the Triad that are supported
+by rott. Each game version uses a different game binary, but there's a
+wrapper script that looks at the available game data files and runs the
+"best" version of the game (this is what happens if you just run "rott",
+or run Rise of the Triad from the KDE/XFCE application menu). The game
+looks for the data files in /usr/share/games/rott, and the different
+versions can coexist. All filenames must be UPPERCASE.
+
+Which version do I have?
+------------------------
+If you've got an installed copy of the game, maybe on a DOS/Windows partition,
+here's how to identify it:
+
+- If you have no files named DARKWAR.*, you have the shareware/demo
+version.
+
+- If you have DARKWAR.(WAD|RTL|RTC), but no ROTTCD.RTC, you have the
+registered floppy/download version.
+
+- If you have ROTTCD.RTC (and DARKWAR.*), you have the CD-ROM version.
+---
+
+Shareware/Demo version 1.3
+--------------------------
+Data files: HUNTBGIN.WAD HUNTBGIN.RTC HUNTBGIN.RTL REMOTE1.RTS
+
+If you want to include the shareware game data files in your package,
+download the shareware version of the game and place it in the SlackBuild
+directory before building:
+
+# wget http://icculus.org/rott/share/1rott13.zip
+# ./rott.SlackBuild
+# installpkg /tmp/rott-$VERSION-$ARCH-$BUILD.tgz
+
+If the icculus.org link doesn't work, the same file can be downloaded
+from http://www.3drealms.com/rott/ (look for "v1.3 Shareware
+Episode" on the page). Either way, the md5sum for rott13.zip is
+0fafd6b629eab80278fc726e31f9cf41.
+
+If you built the package without the shareware data files, you can just
+extract the zip file and copy the data files to /usr/share/games/rott
+manually.
+
+The binary for the shareware version is called "rott-demo".
+---
+
+Registered (Floppy Disk, Registered Download) version 1.3
+---------------------------------------------------------
+Data files: DARKWAR.WAD DARKWAR.RTC DARKWAR.RTL REMOTE1.RTS
+
+Copy these files from your DOS/Windows ROTT game directory to
+/usr/share/games/rott/, making sure to give them all-uppercase names.
+If the shareware REMOTE1.RTS is already there, it doesn't matter whether
+you overwrite it or not (this file is identical in the demo and registered
+versions).
+
+If you have an older version than 1.3, see http://www.3drealms.com/rott/
+for a patch.
+
+The binary for the registered version is called "rott-reg".
+---
+
+CD-ROM version 1.3
+------------------
+Data files: DARKWAR.WAD ROTTCD.RTC DARKWAR.RTL REMOTE1.RTS
+
+Copy these files from your Rise of the Triad CD-ROM to
+/usr/share/games/rott/, making sure to give them all-uppercase names.
+On my CD, there are two copies of the files (in the rottplay/ and
+rottinst/ subdirectories). The REMOTE1.RTS is identical to the
+one from the shareware and registered versions.
+
+The binary for the CD-ROM version is called "rott-cdrom". (The CD doesn't
+have to be in the drive to play the game, though)
+
+This version of the game is identical to the registered version except
+that it uses a different set of levels for multiplayer games.
+
+If you have an older version than 1.3, see http://www.3drealms.com/rott/
+for a patch.
+---
+
+Data File MD5 sums
+------------------
+2823fe5baa07fa2a5a05df3af0cf8265 DARKWAR.RTC
+d1f44aa4d1cb230ba6c3694acc09b6b7 DARKWAR.RTL
+2ec4b19372d1ae55d01058f772f6214f DARKWAR.WAD
+4d90dec2da07a8eee1162efd3e23d98d HUNTBGIN.RTC
+b9b0a3be46a4f7fccabb1c1e8cf5455f HUNTBGIN.RTL
+37793500e3b1de2125a98604b69838e3 HUNTBGIN.WAD
+190c69835af502e4d8f08ee733c3fcc5 REMOTE1.RTS
+64c8e7123a7edcb7b8739b42cdae0120 ROTTCD.RTC
+
+These md5sums are for the 1.3 shareware and CD-ROM versions of the game
+(the files the SlackBuild author used for testing). If yours don't match,
+they might be for an older version of the game, or they might be corrupt
+(try them and see).
+---
+
+Wrapper Script (/usr/games/rott)
+--------------------------------
+If you run "rott" from the command line, or launch it from the KDE/XFCE
+application menu, this script looks in /usr/share/games/rott to see which
+set of data files you have, and runs the correct game binary for you.
+
+If the script finds ROTTCD.RTC, it runs rott-cdrom
+Otherwise, if it finds DARKWAR.WAD, it runs rott-reg
+Otherwise, if it finds HUNTBGIN.WAD, it runs rott-demo
+If none of the above exist, it exits with an error.
+
+If you have the correct data files, you can always run rott-demo,
+rott-reg, or rott-cdrom directly, to choose which version of the game
+to play. You probably should always do this for multiplayer games,
+since all players need to be running the same version of the game.
+---
+
+Add-on Levels
+-------------
+Add-on level packs require the registered or CD-ROM version of the game.
+To load them, use the "file", "filertl", and/or "filertc" options. Unlike
+the main game data files, add-on files are searched for in the current
+directory (or you can give the full path).
+
+Example: to play the ROTT Reject Level Pack, download and unzip it, then
+run:
+
+$ rott filertc REJECTS.RTC
+
+...and then start up comm-bat mode.
+
+RTL files are single-player levels and RTC files are for comm-bat
+(multiplayer). Remember that comm-bat mode doesn't really work in this
+port of ROTT (no networking code, so all you can do is run around by
+yourself).
+---
diff --git a/games/rott/doinst.sh b/games/rott/doinst.sh
new file mode 100644
index 0000000000..392c12adb9
--- /dev/null
+++ b/games/rott/doinst.sh
@@ -0,0 +1,4 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications
+fi
+
diff --git a/games/rott/patches/cdrom_version.diff b/games/rott/patches/cdrom_version.diff
new file mode 100644
index 0000000000..e4adf80dd3
--- /dev/null
+++ b/games/rott/patches/cdrom_version.diff
@@ -0,0 +1,14 @@
+diff -Naur rott-1.1.1.orig/rott/develop.h rott-1.1.1/rott/develop.h
+--- rott-1.1.1.orig/rott/develop.h 2008-05-24 02:29:04.000000000 -0400
++++ rott-1.1.1/rott/develop.h 2010-03-16 23:52:12.000000000 -0400
+@@ -41,8 +41,8 @@
+
+ #define BNACRASHPREVENT 1 //bna added
+ // Make sure only one of the following are on at one time
+-#define SHAREWARE 1
+-#define SUPERROTT 0
++#define SHAREWARE 0
++#define SUPERROTT 1
+ #define SITELICENSE 0
+
+ // cute little dopefish thing, only works with special patch?
diff --git a/games/rott/patches/manpage.diff b/games/rott/patches/manpage.diff
new file mode 100644
index 0000000000..70864338ec
--- /dev/null
+++ b/games/rott/patches/manpage.diff
@@ -0,0 +1,83 @@
+diff -Naur rott-1.1.1.orig/doc/rott.6 rott-1.1.1/doc/rott.6
+--- rott-1.1.1.orig/doc/rott.6 2009-06-08 07:04:26.000000000 -0400
++++ rott-1.1.1/doc/rott.6 2010-03-17 16:26:41.000000000 -0400
+@@ -6,6 +6,15 @@
+ .SH SYNOPSIS
+ .B rott
+ .RI [ options ]
++.br
++.B rott\-demo
++.RI [ options ]
++.br
++.B rott\-reg
++.RI [ options ]
++.br
++.B rott\-cdrom
++.RI [ options ]
+
+ .SH DESCRIPTION
+ .B ROTT
+@@ -27,6 +36,18 @@
+ Specify the screen resolution to use (next parameter is widthxheight).
+ Valid resolutions are 320x200, 640x480 and 800x600.
+ .TP
++.BR filertl\ \fIfile.rtl\fP
++Load external Userlevels (RTL files) (next parameter is RTL filename).
++Not available in shareware/demo version.
++.TP
++.BR filertc\ \fIfile.rtc\fP
++Load external Battlelevels (RTC files) (next parameter is RTC filename).
++Not available in shareware/demo version.
++.TP
++.BR file\ \fIfile.wad\fP
++Load external WAD file (next parameter is WAD filename).
++Not available in shareware/demo version.
++.TP
+ .BR spaceball
+ Enable check for Spaceball.
+ .TP
+@@ -73,21 +94,40 @@
+ Exit program when demo is terminated.
+ .TP
+ .BR warp\ \fIlevel\fP
+-Warp to specific ROTT level (next paramater is level to start on).
++Warp to specific ROTT level (next parameter is level to start on).
+ .TP
+ .BR timelimit\ \fItime\fP
+-Play ROTT in time limit mode (next paramater is time in seconds).
++Play ROTT in time limit mode (next parameter is time in seconds).
+ .TP
+ .BR maxtimelimit\ \fItime\fP
+-Maximimum time to count down from (next paramater is time in seconds).
++Maximimum time to count down from (next parameter is time in seconds).
+ .TP
+ .BR dopefish
+ ?
+
++.SH FILES
++Game data files are searched for in \fB/usr/share/games/rott\fR. Each
++game binary requires its own particular data files:
++.PP
++\fBrott\-demo\fR \- HUNTBGIN.WAD HUNTBGIN.RTC HUNTBGIN.RTL REMOTE1.RTS
++.PP
++\fBrott\-reg\fR \- DARKWAR.WAD DARKWAR.RTC DARKWAR.RTL REMOTE1.RTS
++.PP
++\fBrott\-cdrom\fR \- DARKWAR.WAD ROTTCD.RTC DARKWAR.RTL REMOTE1.RTS
++.PP
++All filenames must be UPPERCASE.
++.PP
++Simply run \fBrott\fR to play the "best" version of the game that you
++have the data files for (CD\-ROM, Registered, or Demo, in that order).
++.PP
++User config data is stored in \fB~/.rott\fR for the shareware/demo version
++and \fB~/.rott/darkwar\fR for the registered and CD\-ROM versions.
++
+ .SH AUTHORS
+ ROTT was created and published as shareware by Apogee Software, Ltd. and was published commercially by FormGen, Inc.
+ .PP
+ The primary contributors to the icculus.org port are: Steven Fuller, Ryan C. Gordon, John Hall and Dan Olson.
+ .PP
+ This manual page was written by Fabian Greffrath <fabian@debian-unofficial.org>
+-for the Debian project (but may be used by others).
++for the Debian project (but may be used by others), and was modified for
++the SlackBuilds.org project by B. Watson.
diff --git a/games/rott/patches/registered_version.diff b/games/rott/patches/registered_version.diff
new file mode 100644
index 0000000000..6fe8aaf49c
--- /dev/null
+++ b/games/rott/patches/registered_version.diff
@@ -0,0 +1,12 @@
+diff -Naur rott-1.1.1.orig/rott/develop.h rott-1.1.1/rott/develop.h
+--- rott-1.1.1.orig/rott/develop.h 2008-05-24 02:29:04.000000000 -0400
++++ rott-1.1.1/rott/develop.h 2010-03-17 14:31:22.000000000 -0400
+@@ -41,7 +41,7 @@
+
+ #define BNACRASHPREVENT 1 //bna added
+ // Make sure only one of the following are on at one time
+-#define SHAREWARE 1
++#define SHAREWARE 0
+ #define SUPERROTT 0
+ #define SITELICENSE 0
+
diff --git a/games/rott/rott.SlackBuild b/games/rott/rott.SlackBuild
new file mode 100644
index 0000000000..49d62e71bb
--- /dev/null
+++ b/games/rott/rott.SlackBuild
@@ -0,0 +1,105 @@
+#!/bin/sh
+
+# Slackware build script for rott
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+PRGNAM=rott
+VERSION=${VERSION:-1.1.1}
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -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 {} \;
+
+patch -p1 < $CWD/patches/manpage.diff
+
+# The shareware/demo binary
+make -C $PRGNAM \
+ EXTRACFLAGS="$SLKCFLAGS -DDATADIR=\\\"/usr/share/games/$PRGNAM/\\\""
+mkdir -p $PKG/usr/games
+install -s -m0755 $PRGNAM/$PRGNAM $PKG/usr/games/$PRGNAM-demo
+
+# The registered binary
+make -C $PRGNAM clean
+patch -p1 < $CWD/patches/registered_version.diff
+make -C $PRGNAM \
+ EXTRACFLAGS="$SLKCFLAGS -DDATADIR=\\\"/usr/share/games/$PRGNAM/\\\""
+install -s -m0755 $PRGNAM/$PRGNAM $PKG/usr/games/$PRGNAM-reg
+
+# The retail/cdrom binary
+make -C $PRGNAM clean
+patch -p1 -R < $CWD/patches/registered_version.diff
+patch -p1 < $CWD/patches/cdrom_version.diff
+make -C $PRGNAM \
+ EXTRACFLAGS="$SLKCFLAGS -DDATADIR=\\\"/usr/share/games/$PRGNAM/\\\""
+install -s -m0755 $PRGNAM/$PRGNAM $PKG/usr/games/$PRGNAM-cdrom
+
+# Not going to bother with the "Site License" binary: doubt anyone
+# will have any use for it, since multiplayer isn't supported. If you need
+# it, see rott/develop.h
+
+# Man page is modified from the original version.
+MANDIR=$PKG/usr/man/man6
+mkdir -p $MANDIR
+gzip -9c doc/$PRGNAM.6 > $MANDIR/$PRGNAM.6.gz
+ln -s $PRGNAM.6.gz $MANDIR/$PRGNAM-demo.6.gz
+ln -s $PRGNAM.6.gz $MANDIR/$PRGNAM-reg.6.gz
+ln -s $PRGNAM.6.gz $MANDIR/$PRGNAM-cdrom.6.gz
+
+# Optional shareware game data
+mkdir -p $PKG/usr/share/games/$PRGNAM
+if [ -e $CWD/1rott13.zip ]; then
+ unzip $CWD/1rott13.zip ROTTSW13.SHR
+ unzip ROTTSW13.SHR '*.WAD' '*.RTS' '*.RTL' '*.RTC'
+ cp *.WAD *.RTS *.RTL *.RTC $PKG/usr/share/games/$PRGNAM
+ chmod 644 $PKG/usr/share/games/$PRGNAM/*
+fi
+
+# Wrapper script
+install -m0755 -oroot -groot $CWD/$PRGNAM.sh $PKG/usr/games/$PRGNAM
+
+mkdir -p $PKG/usr/share/applications $PKG/usr/share/pixmaps
+cp misc/$PRGNAM.desktop $PKG/usr/share/applications
+cp misc/$PRGNAM.xpm $PKG/usr/share/pixmaps
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp COPYING README doc/*.txt $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+cat $CWD/README_gamedata.txt > $PKG/usr/doc/$PRGNAM-$VERSION/README_gamedata.txt
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/games/rott/rott.info b/games/rott/rott.info
new file mode 100644
index 0000000000..6e462457ca
--- /dev/null
+++ b/games/rott/rott.info
@@ -0,0 +1,12 @@
+PRGNAM="rott"
+VERSION="1.1.1"
+HOMEPAGE="http://icculus.org/rott/"
+DOWNLOAD="http://icculus.org/rott/share/1rott13.zip
+ http://icculus.org/rott/releases/rott-1.1.1.tar.gz"
+DOWNLOAD_x86_64=""
+MD5SUM="0fafd6b629eab80278fc726e31f9cf41
+ c0c0e1719375f58428627af9f8dbc7c3"
+MD5SUM_x86_64=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
+APPROVED="dsomero"
diff --git a/games/rott/rott.sh b/games/rott/rott.sh
new file mode 100644
index 0000000000..2248dfd758
--- /dev/null
+++ b/games/rott/rott.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# Wrapper script for Rise of the Triad, by B. Watson
+
+DATADIR=/usr/share/games/rott
+CDROMFILE=$DATADIR/ROTTCD.RTC
+REGFILE=$DATADIR/DARKWAR.WAD
+DEMOFILE=$DATADIR/HUNTBGIN.WAD
+BINDIR=/usr/games
+
+if [ -r $CDROMFILE ]; then
+ exec $BINDIR/rott-cdrom "$@"
+elif [ -r $REGFILE ]; then
+ exec $BINDIR/rott-reg "$@"
+elif [ -r $DEMOFILE ]; then
+ exec $BINDIR/rott-demo "$@"
+else
+ cat 1>&2 <<EOF
+$0: Can't find any usable game data files.
+
+Copy the game data files from either the shareware or full version
+of ROTT to /usr/share/games/rott, and if necessary, rename the files
+to ALL UPPERCASE names (e.g. DARKWAR.WAD).
+EOF
+ exit 1
+fi
diff --git a/games/rott/slack-desc b/games/rott/slack-desc
new file mode 100644
index 0000000000..d407e8a551
--- /dev/null
+++ b/games/rott/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+rott: rott (Rise of the Triad, first person shooter game)
+rott:
+rott: Rise of the Triad is a high quality, fast scrolling first-person
+rott: perspective 3D action game. It includes a lot of destructive enemies,
+rott: an arsenal of weapons from simple pistols to missile launchers,
+rott: life-preserving armor, traps and ambushes galore.
+rott:
+rott: WARNING: Rise of the Triad features wanton and gratuitous violence.
+rott:
+rott:
+rott: