aboutsummaryrefslogtreecommitdiff
path: root/games/rottexpr
diff options
context:
space:
mode:
authorBrent Spillner <spillner@acm.org>2023-12-03 21:00:09 +0900
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2023-12-09 07:50:07 +0700
commitffb03f68e95ce977c341cf1e40d553d3d19d9d11 (patch)
treec8bc10fea27df2e3a0da22dd1626e52e7a56eb5d /games/rottexpr
parentf51b4918f3e35fd38634ce1ae1f7adc089accf46 (diff)
games/rottexpr: Added (Rise Of The Triad prt).
Signed-off-by: Andrew Clemons <andrew.clemons@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'games/rottexpr')
-rw-r--r--games/rottexpr/README21
-rw-r--r--games/rottexpr/README_gamedata.txt120
-rw-r--r--games/rottexpr/doinst.sh9
-rw-r--r--games/rottexpr/rottexpr.6129
-rw-r--r--games/rottexpr/rottexpr.SlackBuild125
-rw-r--r--games/rottexpr/rottexpr.desktop8
-rw-r--r--games/rottexpr/rottexpr.info12
-rw-r--r--games/rottexpr/rottexpr.pngbin0 -> 321059 bytes
-rw-r--r--games/rottexpr/rottexpr.sh30
-rw-r--r--games/rottexpr/slack-desc19
10 files changed, 473 insertions, 0 deletions
diff --git a/games/rottexpr/README b/games/rottexpr/README
new file mode 100644
index 0000000000000..c68222a4bf3e0
--- /dev/null
+++ b/games/rottexpr/README
@@ -0,0 +1,21 @@
+rottexpr (Enhanched source port for Rise of the Triad)
+
+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. The shareware/demo
+data files are included in the package. If you want to play the retail
+version, see README_gamedata.txt for details. The retail version is
+available for purchase and download from GOG.com among other sources.
+
+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/ and
+https://github.com/LTCHIPS/rottexpr
diff --git a/games/rottexpr/README_gamedata.txt b/games/rottexpr/README_gamedata.txt
new file mode 100644
index 0000000000000..d90ce3c05eb0c
--- /dev/null
+++ b/games/rottexpr/README_gamedata.txt
@@ -0,0 +1,120 @@
+There are at least 3 versions of Rise of the Triad that are supported
+by rottexpr. 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 "rottexpr",
+or run Rise of the Triad from the KDE/XFCE application menu). The game
+looks for the data files in /usr/share/games/rottexpr, 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
+
+This is always included in the package.
+
+The binary for the shareware version is called "rottexpr-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/rottexpr/, 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 "rottexpr-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/rottexpr/, 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 "rottexpr-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/rottexpr)
+--------------------------------
+If you run "rottexpr" from the command line, or launch it from the KDE/XFCE
+application menu, this script looks in /usr/share/games/rottexpr 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 rottexpr-cdrom
+Otherwise, if it finds DARKWAR.WAD, it runs rottexpr-reg
+Otherwise, if it finds HUNTBGIN.WAD, it runs rottexpr-demo
+If none of the above exist, it exits with an error.
+
+If you have the correct data files, you can always run rottexpr-demo,
+rottexpr-reg, or rottexpr-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:
+
+$ rottexpr 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/rottexpr/doinst.sh b/games/rottexpr/doinst.sh
new file mode 100644
index 0000000000000..726ffe403baf3
--- /dev/null
+++ b/games/rottexpr/doinst.sh
@@ -0,0 +1,9 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications
+fi
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
diff --git a/games/rottexpr/rottexpr.6 b/games/rottexpr/rottexpr.6
new file mode 100644
index 0000000000000..45ada626e18cd
--- /dev/null
+++ b/games/rottexpr/rottexpr.6
@@ -0,0 +1,129 @@
+.TH ROTTEXPR 6 "2023-12-03" "0.01" "Rise of the Triad"
+
+.SH NAME
+rottexpr \- Rise of the Triad source port
+
+.SH SYNOPSIS
+.B rottexpr
+.RI [ options ]
+.br
+.B rott\-demo
+.RI [ options ]
+.br
+.B rott\-reg
+.RI [ options ]
+.br
+.B rott\-cdrom
+.RI [ options ]
+
+.SH DESCRIPTION
+.B ROTTEXPR
+is a port of Apogee's 3D action title Rise of the Triad, originally released in 1994.
+.B ROTTEXPR
+uses the SDL2 libraries to make the game playable on modern operating systems, including Linux, and adds features including higher
+screen resolutions, adaptive HUD positioning, configurable gameplay options, and a number of bug fixes.
+
+.SH OPTIONS
+.TP
+.BR aim
+Show aim crosshair.
+.TP
+.BR fullscreen
+Start in fullscreen mode.
+.TP
+.BR window
+Start in windowed mode.
+.TP
+.BR resolution\ \fIwidth\fPx\fIheight\fP
+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 nojoys
+Disable check for joystick.
+.TP
+.BR nomouse
+Disable check for mouse.
+.TP
+.BR nosound
+Disable sound.
+.TP
+.BR noecho
+Turn off sound reverb.
+.TP
+.BR ver
+Version number.
+.TP
+.BR mapstats
+Dump Map statistics to ERROR.
+.TP
+.BR tilestats
+Dump Tile statistics to ERROR.
+.TP
+.BR mono
+Enable mono-monitor support.
+.TP
+.BR screenshots
+Clean screen capture for shots.
+.TP
+.BR pause
+Pauses startup screen information.
+.TP
+.BR enablevr
+Enable VR helmet input devices.
+.TP
+.BR demoexit
+Exit program when demo is terminated.
+.TP
+.BR warp\ \fIlevel\fP
+Warp to specific ROTT level (next parameter is level to start on).
+.TP
+.BR timelimit\ \fItime\fP
+Play ROTT in time limit mode (next parameter is time in seconds).
+.TP
+.BR maxtimelimit\ \fItime\fP
+Maximimum time to count down from (next parameter is time in seconds).
+.TP
+.BR dopefish
+Activate an Easter-egg with references to the Dopefish from the Commander Keen games.
+
+.SH FILES
+Game data files are searched for in \fB/usr/share/games/rottexpr\fR. Each
+game binary requires its own particular data files:
+.PP
+\fBrottexpr\-demo\fR (shareware/demo) \- HUNTBGIN.WAD HUNTBGIN.RTC HUNTBGIN.RTL REMOTE1.RTS
+.PP
+\fBrottexpr\-reg\fR (registered floppy/download) \- DARKWAR.WAD DARKWAR.RTC DARKWAR.RTL REMOTE1.RTS
+.PP
+\fBrottexpr\-cdrom\fR (retail CD) \- DARKWAR.WAD ROTTCD.RTC DARKWAR.RTL REMOTE1.RTS
+.PP
+All filenames must be UPPERCASE.
+.PP
+Simply run \fBrottexpr\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~/.rottexpr\fR for the shareware/demo version
+and \fB~/.rottexpr/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 were Steven Fuller, Ryan C. Gordon, John Hall and Dan Olson.
+.PP
+The rottexpr port was started by Steven LeVesque, with significant contributions by Emile Belanger.
+See https://github.com/LTCHIPS/rottexpr for more information.
+.PP
+This manual page was originally written by Fabian Greffrath <fabian@debian-unofficial.org>
+for the Debian project (but may be used by others), and was modified for
+the SlackBuilds.org games/rott project by B. Watson, and for rottexpr by Brent Spillner.
diff --git a/games/rottexpr/rottexpr.SlackBuild b/games/rottexpr/rottexpr.SlackBuild
new file mode 100644
index 0000000000000..2b77d0d7d4119
--- /dev/null
+++ b/games/rottexpr/rottexpr.SlackBuild
@@ -0,0 +1,125 @@
+#!/bin/bash
+# Slackware build script for rottexpr
+# Based on games/rott/rott.SlackBuild by B. Watson (urchlay@slackware.uk)
+# Modified for rottexpr by Brent Spillner (s p i l l n e r @ a c m . o r g)
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=rottexpr
+MAKEFILE_TARGET=rott
+VERSION=${VERSION:-0.01}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+TARBALL=${TARBALL:-v${VERSION}.tar.gz}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+# LIBDIRSUFFIX not needed
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$TARBALL
+cd $PRGNAM-$VERSION
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# Adjust user configuration dir to avoid conflicts with the other rott engine
+sed -i "s/\.rott\//\.rottexpr\//g" src/dosutil.c
+
+# The shareware/demo binary
+make -j1 -C src clean all \
+ SHAREWARE=1 SUPERROTT=0 \
+ EXTRACFLAGS="$SLKCFLAGS -DDATADIR=\\\"/usr/share/games/$PRGNAM/\\\""
+mkdir -p $PKG/usr/games
+install -s -m0755 src/$MAKEFILE_TARGET $PKG/usr/games/$PRGNAM-demo
+
+# The registered binary
+make -j1 -C src clean all \
+ SHAREWARE=0 SUPERROTT=0 \
+ EXTRACFLAGS="$SLKCFLAGS -DDATADIR=\\\"/usr/share/games/$PRGNAM/\\\""
+install -s -m0755 src/$MAKEFILE_TARGET $PKG/usr/games/$PRGNAM-reg
+
+# The retail/cdrom binary
+make -j1 -C src clean all \
+ SHAREWARE=0 SUPERROTT=1 \
+ EXTRACFLAGS="$SLKCFLAGS -DDATADIR=\\\"/usr/share/games/$PRGNAM/\\\""
+install -s -m0755 src/$MAKEFILE_TARGET $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, build with SHAREWARE=0 SUPERROTT=0 SITELICENSE=1
+
+# Man page is modified from the original version.
+MANDIR=$PKG/usr/man/man6
+mkdir -p $MANDIR
+gzip -9c $CWD/$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
+
+# Shareware game data. Used to be optional, always included now.
+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 $CWD/$PRGNAM.desktop $PKG/usr/share/applications/$PRGNAM.desktop
+
+# Icon made for the original games/rott SlackBuild.
+for px in 16 32 48 64 128; do
+ size=${px}x${px}
+ dir=$PKG/usr/share/icons/hicolor/$size/apps
+ mkdir -p $dir
+ convert -resize $size! $CWD/$PRGNAM.png $dir/$PRGNAM.png
+done
+
+ln -s ../icons/hicolor/48x48/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp COPYING LICENSE.DOC *.md $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
diff --git a/games/rottexpr/rottexpr.desktop b/games/rottexpr/rottexpr.desktop
new file mode 100644
index 0000000000000..31da80f607c43
--- /dev/null
+++ b/games/rottexpr/rottexpr.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=Rise of the Triad (enhanced source port)
+Comment=SDL2 port of the classic DOS first-person shooter
+Icon=rottexpr
+TryExec=/usr/games/rottexpr
+Exec=/usr/games/rottexpr -fullscreen -resolution 1024x768
+Categories=Game;ActionGame;
diff --git a/games/rottexpr/rottexpr.info b/games/rottexpr/rottexpr.info
new file mode 100644
index 0000000000000..92f579fadef21
--- /dev/null
+++ b/games/rottexpr/rottexpr.info
@@ -0,0 +1,12 @@
+PRGNAM="rottexpr"
+VERSION="0.01"
+HOMEPAGE="https://github.com/LTCHIPS/rottexpr"
+DOWNLOAD="https://icculus.org/rott/share/1rott13.zip \
+ https://github.com/LTCHIPS/rottexpr/archive/refs/tags/v0.01.tar.gz"
+MD5SUM="0fafd6b629eab80278fc726e31f9cf41 \
+ 5c0bb94c30532fa3450bb58ed1f60350"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Brent Spillner"
+EMAIL="s p i l l n e r @ a c m . o r g"
diff --git a/games/rottexpr/rottexpr.png b/games/rottexpr/rottexpr.png
new file mode 100644
index 0000000000000..382a4925885fe
--- /dev/null
+++ b/games/rottexpr/rottexpr.png
Binary files differ
diff --git a/games/rottexpr/rottexpr.sh b/games/rottexpr/rottexpr.sh
new file mode 100644
index 0000000000000..e45e44250f139
--- /dev/null
+++ b/games/rottexpr/rottexpr.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# Wrapper script for Rise of the Triad, by B. Watson
+# Modified for rottexpr by Brent Spillner
+
+# Figures out which rott binary to execute, based on which
+# game data files are installed.
+
+DATADIR=/usr/share/games/rottexpr
+CDROMFILE=$DATADIR/ROTTCD.RTC
+REGFILE=$DATADIR/DARKWAR.WAD
+DEMOFILE=$DATADIR/HUNTBGIN.WAD
+BINDIR=/usr/games
+
+if [ -r $CDROMFILE ]; then
+ exec $BINDIR/rottexpr-cdrom "$@"
+elif [ -r $REGFILE ]; then
+ exec $BINDIR/rottexpr-reg "$@"
+elif [ -r $DEMOFILE ]; then
+ exec $BINDIR/rottexpr-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/rottexpr, and if necessary, rename the files
+to ALL UPPERCASE names (e.g. DARKWAR.WAD).
+EOF
+ exit 1
+fi
diff --git a/games/rottexpr/slack-desc b/games/rottexpr/slack-desc
new file mode 100644
index 0000000000000..98e1a1533e9bf
--- /dev/null
+++ b/games/rottexpr/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 ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+rottexpr: rottexpr (Rise of the Triad enhanced source port)
+rottexpr:
+rottexpr: Rise of the Triad is a high quality, fast scrolling first-person
+rottexpr: perspective 3D action game. It includes a lot of destructive enemies,
+rottexpr: an arsenal of weapons from simple pistols to missile launchers,
+rottexpr: life-preserving armor, traps and ambushes galore.
+rottexpr:
+rottexpr: WARNING: Rise of the Triad features wanton and gratuitous violence.
+rottexpr:
+rottexpr: The rottexpr engine supports SDL2, high screen resolutions,
+rottexpr: borderless windows, and more.