games/heroes: Added (2d arcade style game)

Signed-off-by: bedlam <dave@slackbuilds.org>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2023-01-24 05:04:55 +00:00 committed by Willy Sudiarto Raharjo
parent 9f91b80fd4
commit 8688e336e1
No known key found for this signature in database
GPG Key ID: 3F617144D7238786
9 changed files with 721 additions and 0 deletions

16
games/heroes/README Normal file
View File

@ -0,0 +1,16 @@
heroes (2d arcade style game)
Heroes is similar to the "Tron" and "Nibbles" games of yore, but
includes many graphical improvements and new game features. In it,
you must maneuver a small vehicle around a world and collect powerups
while avoiding obstacles, your opponents' trails, and even your own
trail.
The game starts in fullscreen mode when called with no arguments.
Pressing Alt+Enter will toggle between fullscreen and windowed, and
you can pass the -W option to start in windowed mode (the .desktop
file does this already).
To play with the joystick, you have to set the player 1 controls to
Joystick in the menu. Should be obvious, but the in-game menus are
kinda hard to read...

9
games/heroes/doinst.sh Normal file
View File

@ -0,0 +1,9 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
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

View File

@ -0,0 +1,323 @@
diff '--color=auto' -ruN ../heroes-0.21/src/argv.c ./src/argv.c
--- ../heroes-0.21/src/argv.c 2002-01-09 18:52:35.000000000 +0000
+++ ./src/argv.c 2022-06-30 10:55:29.838547018 +0100
@@ -45,8 +45,8 @@
char* level_name;
bool mono = false;
bool bits8 = false;
-bool hqmix = false;
-int stretch = 1;
+bool hqmix = true;
+int stretch = 4;
bool nosound = false;
bool even_lines = false;
bool showprefs = false;
@@ -171,15 +171,11 @@
-S, --no-sound disable sound\n\
-X, --no-sfx disable sound-effects\n\
-m, --mono non-stereo output\n\
- -8, --8bits 8bits sound output\n\
- -i, --high-quality high quality mixer\n"));
+ -8, --8bits 8bits sound output\n"));
puts (_("\
Display options:\n\
-G, --gfx-options=OPTIONS pass OPTIONS to the display driver\n\
- -F, --full-screen full screen mode\n\
- -2, --double stretch the display twofold\n\
- -3, --triple stretch the display threefold\n\
- -4, --quadruple stretch the display fourfold\n\
+ -W, --windowed windowed mode\n\
-e, --even-lines display only even-lines\n"));
/* TRANS: rotozoom is a graphical effect used in the demo of yore
where the screen rotate and zoom (actually it doesn't zoom in Heroes);
@@ -215,15 +211,13 @@
{"default-saves", no_argument, &reinitsav, 1},
{"default-scores", no_argument, &reinitsco, 1},
{"devparm", no_argument, &devparm, 1},
- {"double", no_argument, NULL, '2'},
{"driver", required_argument, NULL, 'd'},
{"drivers-info", no_argument, NULL, 'n'},
{"even-lines", no_argument, NULL, 'e'},
- {"full-screen", no_argument, NULL, 'F'},
+ {"windowed", no_argument, NULL, 'W'},
{"gfx-options", required_argument, NULL, 'G'},
{"go", no_argument, NULL, 'g'},
{"help", no_argument, NULL, 'h'},
- {"high-quality", no_argument, NULL, 'i'},
{"list", optional_argument, NULL, 'l'},
{"load", required_argument, NULL, 'L'},
{"mono", no_argument, NULL, 'm'},
@@ -231,11 +225,9 @@
{"no-joystick", no_argument, NULL, 'J'},
{"no-sfx", no_argument, NULL, 'X'},
{"no-sound", no_argument, NULL, 'S'},
- {"quadruple", no_argument, NULL, '4'},
{"quiet", no_argument, NULL, 'q'},
{"really-quiet", no_argument, NULL, 'Q'},
{"swap-sides", no_argument, NULL, 's'},
- {"triple", no_argument, NULL, '3'},
{"verbose", required_argument, NULL, 'v'},
{"version", no_argument, NULL, 'v'},
{"x10-saves", no_argument, &x10sav, 1},
@@ -263,7 +255,7 @@
for (;;) {
int option_index = 0;
- c = getopt_long (argc, argv, "2348d:eFgG:hiJl::L:mnqQsSv::X",
+ c = getopt_long (argc, argv, "8d:eWgG:hiJl::L:mnqQsSv::X",
long_options, &option_index);
/* Detect the end of the options. */
@@ -290,9 +282,6 @@
case '8':
bits8 = true;
break;
- case 'a':
- hqmix = true;
- break;
case 'X':
nosfx = true;
break;
@@ -319,27 +308,15 @@
case 'G':
set_display_params (optarg);
break;
- case 'F':
+ case 'W':
set_full_screen_mode ();
break;
case 'J':
joyoff = true;
break;
- case '2':
- stretch = 2;
- break;
- case '3':
- stretch = 3;
- break;
- case '4':
- stretch = 4;
- break;
case 'e':
even_lines = true;
break;
- case 'i':
- hqmix = true;
- break;
case 'S':
nosound = true;
break;
diff '--color=auto' -ruN ../heroes-0.21/src/hedlite.c ./src/hedlite.c
--- ../heroes-0.21/src/hedlite.c 2002-02-06 21:49:44.000000000 +0000
+++ ./src/hedlite.c 2022-06-30 10:55:29.838547018 +0100
@@ -45,7 +45,6 @@
#include "dirname.h"
static a_pcx_image heditrsc;
-static a_pcx_image tile_set_img;
unsigned short int xdalles = 0;
unsigned short int ydalles = 0;
diff '--color=auto' -ruN ../heroes-0.21/src/media/ggi/video.c ./src/media/ggi/video.c
--- ../heroes-0.21/src/media/ggi/video.c 2002-03-27 19:44:59.000000000 +0000
+++ ./src/media/ggi/video.c 2022-06-30 10:55:29.838547018 +0100
@@ -54,7 +54,7 @@
static ggi_mode vid_mode;
static char *display_params = NULL;
-static int full_screen = 0;
+static int full_screen = 1;
/* Direct buffer for each frame.
We might have db[0] == db[1] if double buffering is not available.*/
static const ggi_directbuffer *db[2] = { NULL, NULL };
@@ -88,7 +88,7 @@
void
set_full_screen_mode (void)
{
- full_screen = 1;
+ full_screen = 0;
}
static bool
diff '--color=auto' -ruN ../heroes-0.21/src/media/sdl/video.c ./src/media/sdl/video.c
--- ../heroes-0.21/src/media/sdl/video.c 2002-01-17 19:59:32.000000000 +0000
+++ ./src/media/sdl/video.c 2022-06-30 10:55:29.838547018 +0100
@@ -40,7 +40,7 @@
it might requires locking. */
static SDL_Surface *visu = 0;
-static int visu_options = SDL_HWPALETTE | SDL_DOUBLEBUF;
+static int visu_options = SDL_HWPALETTE | SDL_DOUBLEBUF | SDL_FULLSCREEN;
static bool SDL_initialized = false;
#define SDL_VIDEODRIVER "SDL_VIDEODRIVER"
static char *sdl_videodriver = 0;
@@ -56,7 +56,7 @@
void
set_full_screen_mode (void)
{
- visu_options |= SDL_FULLSCREEN;
+ visu_options &= ~SDL_FULLSCREEN;
}
/* Fullscreen mode is toggeled by pressing Alt+Enter.
diff '--color=auto' -ruN ../heroes-0.21/src/media/video.c ./src/media/video.c
--- ../heroes-0.21/src/media/video.c 2001-09-21 11:43:57.000000000 +0100
+++ ./src/media/video.c 2022-06-30 10:55:29.838547018 +0100
@@ -27,111 +27,6 @@
/* slow stretching routines */
static void
-stretch_twofold (const a_pixel *s, a_pixel *d, unsigned width)
-{
- int rows_left, columns_left;
-
- for (rows_left = 200; rows_left; --rows_left) {
- for (columns_left = width / 2; columns_left; --columns_left) {
- a_pixel t1, t2;
- t1 = s[0];
- t2 = s[1];
- d[0] = t1;
- d[640 + 2] = t2;
- d[1] = t1;
- d[640 + 3] = t2;
- d[640 + 0] = t1;
- d[2] = t2;
- d[640 + 1] = t1;
- d[3] = t2;
- s += 2;
- d += 4;
- }
- d += 2 * (scr_pitch - width);
- s += xbuf - width;
- }
-}
-
-static void
-stretch_twofold_even (const a_pixel *s, a_pixel *d, unsigned width)
-{
- int rows_left, columns_left;
-
- for (rows_left = 200; rows_left; --rows_left) {
- for (columns_left = width; columns_left; --columns_left) {
- d[1] = d[0] = *s;
- ++s;
- d += 2;
- }
- d += 2 * (scr_pitch - width);
- s += xbuf - width;
- }
-}
-
-static void
-stretch_threefold (const a_pixel* s, a_pixel *d, unsigned width)
-{
- int rows_left, columns_left;
-
- for (rows_left = 200; rows_left; --rows_left) {
- for (columns_left = width / 2; columns_left; --columns_left) {
- a_pixel t1, t2;
- t1 = s[0];
- t2 = s[1];
- d[0] = t1;
- d[960 + 3] = t2;
- d[2*960 + 1] = t1;
- d[4] = t2;
- d[960 + 2] = t1;
- d[2*960 + 5] = t2;
- d[960 + 0] = t1;
- d[2*960 + 3] = t2;
- d[1] = t1;
- d[960 + 4] = t2;
- d[2*960 + 2] = t1;
- d[5] = t2;
- d[2*960 + 0] = t1;
- d[3] = t2;
- d[960 + 1] = t1;
- d[2*960 + 4] = t2;
- d[2] = t1;
- d[960 + 5] = t2;
- s += 2;
- d += 6;
- }
- d += 3 * (scr_pitch - width);
- s += xbuf - width;
- }
-}
-
-static void
-stretch_threefold_even (const a_pixel *s, a_pixel *d, unsigned width)
-{
- int rows_left, columns_left;
-
- for (rows_left = 200 / 2; rows_left; --rows_left) {
- for (columns_left = width; columns_left; --columns_left) {
- a_pixel t1, t2;
- t1 = s[0];
- t2 = s[xbuf];
- d[0] = t1;
- d[0+960*4] = t2;
- d[1] = t1;
- d[2] = t1;
- d[1+960*4] = t2;
- d[0+960*2] = t1;
- d[1+960*2] = t1;
- d[2+960*4] = t2;
- d[2+960*2] = t1;
- ++s;
- d += 3;
- }
- d += 3 * (2 * scr_pitch - width);
- s += 2 * xbuf - width;
- }
-}
-
-static void
stretch_fourfold (const a_pixel *s, a_pixel *d, unsigned width)
{
int rows_left, columns_left;
@@ -196,27 +91,10 @@
{
/* the result of stretching routines is written directly
to the video memory */
- if (stretch == 2) {
- if (even_lines)
- stretch_twofold_even (s, d, width);
- else
- stretch_twofold (s, d, width);
- } else if (stretch == 3) {
- if (even_lines)
- stretch_threefold_even (s, d, width);
- else
- stretch_threefold (s, d, width);
- } else if (stretch == 4) {
- if (even_lines)
- stretch_fourfold_even (s, d, width);
- else
- stretch_fourfold (s, d, width);
- } else { /* stretch == 1 */
- if (even_lines)
- copy_screen_even (s, d, width);
- else
- copy_screen (s, d, width);
- }
+ if (even_lines)
+ stretch_fourfold_even (s, d, width);
+ else
+ stretch_fourfold (s, d, width);
}
void
diff '--color=auto' -ruN ../heroes-0.21/src/persona.h ./src/persona.h
--- ../heroes-0.21/src/persona.h 2001-09-21 11:43:54.000000000 +0100
+++ ./src/persona.h 2022-06-30 10:55:48.008744082 +0100
@@ -28,8 +28,8 @@
* difference only if the program has a sgid or suid bit.
*/
-bool keep_sgid; /* Whether we should keep the */
-bool keep_suid; /* SGID or SUID priviledge. */
+extern bool keep_sgid; /* Whether we should keep the */
+extern bool keep_suid; /* SGID or SUID priviledge. */
/* Get information about the current persona,
and switch to the user persona. */

View File

@ -0,0 +1,156 @@
#!/bin/bash
# Slackware build script for heroes
# Written by B. Watson (urchlay@slackware.uk)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
# Old game I recall playing ~15 years ago. I liked it better then.
# All-in-one build. No way am I having 5 builds for the data, sfx, etc
# source packages.
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=heroes
VERSION=${VERSION:-0.21}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
# The various components have their own separate version numbering.
# This thing hasn't been updated in 20 years so making these
# overrideable is probably pointless.
DATAVER=${DATAVER:-1.5}
SFXVER=${SFXVER:-1.0}
STRAXVER=${STRAXVER-1.0}
STRAXHQVER=${STRAXHQVER-1.0}
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}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
mkdir -p $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
TOPDIR="$( pwd )"
PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
# This is needed to avoid the build process creating files in /root
export HEROES_HOME_DIR=$TOPDIR
# build_one() gets called multiple times, with args:
# $1 - tarball name
# $2 - tarball version
# $3 - optional, patch to apply
build_one() {
cd $TOPDIR
tar xvf $CWD/$1-$2.tar.bz2
cd $1-$2
chown -R root:root .
find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
\! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
[ "$3" != "" ] && patch -p1 < "$3"
LDFLAGS="-lm" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--bindir=/usr/games \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--disable-static \
--build=$ARCH-slackware-linux
make install-strip DESTDIR=$PKG
mkdir -p $PKGDOC/$1-$2
for i in ANNOUNCE AUTHORS COPYING ChangeLog NEWS README THANKS; do
[ -e "$i" ] && [ "$( stat -c "%s" $i )" -gt 2 ] && \
cat $i > $PKGDOC/$1-$2/$i || true
done
}
# The patch comes from Arch AUR. It fixes a couple of compile issues,
# and also removes the -1 -2 -3 -4 options, makes 4x stretch the
# default (so the window's big enough to *see* on a modern display),
# makes fullscreen the default, and replaces the -F option with a -W
# (windowed) option to turn off fullscreen. Note that the patched
# game requires at least a 1280x800 display to work at all.
build_one $PRGNAM $VERSION $CWD/$PRGNAM-$VERSION.patch
# The rest of this stuff doesn't need patching.
build_one $PRGNAM-data $DATAVER
build_one $PRGNAM-sound-effects $SFXVER
build_one $PRGNAM-sound-tracks $STRAXVER
build_one $PRGNAM-hq-sound-tracks $STRAXHQVER
# Because of bit-rot, the build process generates garbage man pages.
# Also, the arch patch we applied changes some of the options, so we
# need a man page that reflects the changes. These man pages came
# from the source tarball, and heroes.6 has been edited as needed.
mkdir -p $PKG/usr/man/man6
install -m0644 -oroot -groot $CWD/man/*.6 $PKG/usr/man/man6
gzip -9 $PKG/usr/man/man6/*
# Picked one of the xpm files to use as an icon.
XPM=$TOPDIR/$PRGNAM-$VERSION/misc/heroes-2.xpm
for px in 16 22 32 48; do
size=${px}x${px}
dir=$PKG/usr/share/icons/hicolor/$size/apps
mkdir -p $dir
convert -resize $size! $XPM $dir/$PRGNAM.png
done
mkdir -p $PKG/usr/share/pixmaps
install -m0644 -oroot -groot $XPM $PKG/usr/share/pixmaps/$PRGNAM.xpm
# Not going to bother with install-info in the doinst.sh and trying
# to clean up /usr/info/dir after uninstalling the package. Not worth it.
rm -f $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*.info*
cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
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

View File

@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Name=Heroes
Comment=Game like Nibbles or Tron
Icon=heroes
Exec=/usr/games/heroes -W
Terminal=false
Categories=Game

18
games/heroes/heroes.info Normal file
View File

@ -0,0 +1,18 @@
PRGNAM="heroes"
VERSION="0.21"
HOMEPAGE="https://heroes.sourceforge.net/"
DOWNLOAD="https://downloads.sourceforge.net/project/heroes/heroes/0.21/heroes-0.21.tar.bz2 \
https://downloads.sourceforge.net/project/heroes/heroes-data/1.5/heroes-data-1.5.tar.bz2 \
https://downloads.sourceforge.net/project/heroes/heroes-sound-tracks/1.0/heroes-sound-tracks-1.0.tar.bz2 \
https://downloads.sourceforge.net/project/heroes/heroes-sound-effects/1.0/heroes-sound-effects-1.0.tar.bz2 \
https://downloads.sourceforge.net/project/heroes/heroes-hq-sound-tracks/1.0/heroes-hq-sound-tracks-1.0.tar.bz2"
MD5SUM="ec608676e2e75abdfddf8072bb3b28db \
015a95c16998bd0900f3a6cb6e6f26ac \
f23313177d7a33b1b2e8c759cfa54310 \
1c04db6da3d98eebfb3119460701cd5b \
b41d4f0f88e5e9d254b1a8e4a2ad32c1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="B. Watson"
EMAIL="urchlay@slackware.uk"

115
games/heroes/man/heroes.6 Normal file
View File

@ -0,0 +1,115 @@
.TH HEROES "6" "January 23, 2023" "Heroes 0.21" "SlackBuild.org"
.SH NAME
Heroes \- a game like Nibbles or Tron, just better
.SH SYNOPSIS
.B heroes
[\fIOPTIONS\fR]...
.SH DESCRIPTION
Heroes is a game similar to the "Tron" and "Nibbles" games of yore
but includes many graphical improvements and new game features.
.PP
Mandatory arguments to long options are mandatory for short options too.
.SS "General options:"
.TP
\fB\-v\fR, \fB\-\-version\fR
display version number
.TP
\fB\-h\fR, \fB\-\-help\fR
display this help
.TP
\fB\-q\fR, \fB\-\-quiet\fR
don't print warning messages
.TP
\fB\-Q\fR, \fB\-\-really\-quiet\fR
don't even print error messages
.TP
\fB\-v\fR, \fB\-\-verbose\fR=\fICHANNELS\fR
enable or disable debugging channels
(see \fB\-\-list\fR=\fIdebug\fR for available channels)
.TP
\fB\-l\fR, \fB\-\-list\fR=\fIWORD\fR
show some internal information; WORD can be
\&'debug', 'resources', 'sound-drivers' or
\&'sound-tracks'
.SS "Sound options:"
.TP
\fB\-d\fR, \fB\-\-driver\fR=\fIN[\fR,OPTIONS]
use Nth driver for sound output (0:autodetect)
(see \fB\-\-list\fR=\fIsound\-drivers\fR for available Ns)
.TP
\fB\-S\fR, \fB\-\-no\-sound\fR
disable sound
.TP
\fB\-X\fR, \fB\-\-no\-sfx\fR
disable sound-effects
.TP
\fB\-m\fR, \fB\-\-mono\fR
non-stereo output
.TP
\fB\-8\fR, \fB\-\-8bits\fR
8bits sound output
.TP
\fB\-i\fR, \fB\-\-high\-quality\fR
high quality mixer
.SS "Display options:"
.TP
\fB\-G\fR, \fB\-\-gfx\-options\fR=\fIOPTIONS\fR
pass OPTIONS to the display driver
.TP
\fB\-W\fR, \fB\-\-windowed\fR
run in a window (disable full screen mode)
.TP
\fB\-e\fR, \fB\-\-even\-lines\fR
display only even-lines
.SS "Miscellaneous options:"
.TP
\fB\-\-cpu\-off\fR
disable computer opponents
.TP
\fB\-\-default\-scores\fR
restore default scores file
.TP
\fB\-\-default\-options\fR
restore default options file
.TP
\fB\-\-default\-saves\fR
restore default saves file
.TP
\fB\-s\fR, \fB\-\-swap\-sides\fR
swap sides in two player mode
.TP
\fB\-\-no\-double\-fx\fR
disable combination of rotozoom and waves
.TP
\fB\-g\fR, \fB\-\-go\fR
skip the introduction
.TP
\fB\-J\fR, \fB\-\-no\-joystick\fR
disable joystick handling
.PP
These options can be set in your file ~/.heroes/heroesrc (which is read
before parsing other command line options) using a line like the following:
.IP
Options: \fB\-gs\fR \fB\-d3\fR,buffer=11,count=4
.PP
Visit http://heroes.sourceforge.net/ for news, documentation, and updates.
.SH "REPORTING BUGS"
Report bugs to <heroes-bugs@lists.sourceforge.net>.
.SH COPYRIGHT
Copyright \(co 2002 Alexandre Duret-Lutz, Romuald Genevois,
Alexandre Liverneaux and Philippe Meisburger.
.br
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.SH "SEE ALSO"
The full documentation for
.B heroes
is maintained as a Texinfo manual. If the
.B info
and
.B heroes
programs are properly installed at your site, the command
.IP
.B info heroes
.PP
should give you access to the complete manual.

View File

@ -0,0 +1,57 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.27.
.TH HEROESLVL "6" "March 2002" "heroeslvl (Heroes) 0.21" "Games"
.SH NAME
heroeslvl \- inspect Heroes' level files
.SH SYNOPSIS
.B heroeslvl
[\fIOPTIONS\fR]... \fIlevels\fR
.SH DESCRIPTION
Heroeslvl is a tool used to inspect Heroes' level files.
.PP
Mandatory arguments to long options are mandatory for short options too.
.TP
\fB\-v\fR, \fB\-\-version\fR
display version number
.TP
\fB\-h\fR, \fB\-\-help\fR
display this help
.TP
\fB\-p\fR, \fB\-\-print\fR=\fIWHAT\fR
select information to display. WHAT should be
one or more of these characters:
.TP
d
print square directions
.TP
f
print filename
.TP
h
print header
.TP
i
print tile details
.TP
t
print square type map
.TP
T
print type keys
.TP
w
print square wall map
.TP
@
print tunnels
.TP
\fB\-i\fR, \fB\-\-indent\fR
indent everything but the filename
.PP
When no options are given, the default is \fB\-ipfh\fR.
.SH "REPORTING BUGS"
Report bugs to <heroes-bugs@lists.sourceforge.net>.
.SH COPYRIGHT
Copyright \(co 2002 Alexandre Duret-Lutz.
.br
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

19
games/heroes/slack-desc Normal file
View File

@ -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------------------------------------------------------|
heroes: heroes (2d arcade style game)
heroes:
heroes: Heroes is similar to the "Tron" and "Nibbles" games of yore, but
heroes: includes many graphical improvements and new game features. In it,
heroes: you must maneuver a small vehicle around a world and collect powerups
heroes: while avoiding obstacles, your opponents' trails, and even your own
heroes: trail.
heroes:
heroes:
heroes:
heroes: