From 5ea3db7bec2830a9ec0f7dd011ea077ae748c6cc Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Fri, 20 Feb 2015 09:43:56 +0700 Subject: games/adl: Added (compiler and runtime). Signed-off-by: Willy Sudiarto Raharjo --- games/adl/README | 10 ++ games/adl/adl.SlackBuild | 107 +++++++++++++++++ games/adl/adl.info | 10 ++ games/adl/compilefixes.diff | 272 ++++++++++++++++++++++++++++++++++++++++++++ games/adl/fixman.sh | 32 ++++++ games/adl/man/adlcomp.6 | 249 ++++++++++++++++++++++++++++++++++++++++ games/adl/man/adldebug.6 | 163 ++++++++++++++++++++++++++ games/adl/man/adlrun.6 | 189 ++++++++++++++++++++++++++++++ games/adl/slack-desc | 19 ++++ 9 files changed, 1051 insertions(+) create mode 100644 games/adl/README create mode 100644 games/adl/adl.SlackBuild create mode 100644 games/adl/adl.info create mode 100644 games/adl/compilefixes.diff create mode 100644 games/adl/fixman.sh create mode 100644 games/adl/man/adlcomp.6 create mode 100644 games/adl/man/adldebug.6 create mode 100644 games/adl/man/adlrun.6 create mode 100644 games/adl/slack-desc (limited to 'games/adl') diff --git a/games/adl/README b/games/adl/README new file mode 100644 index 0000000000..02bfbf10be --- /dev/null +++ b/games/adl/README @@ -0,0 +1,10 @@ +adl (compiler and runtime for adventure definition language) + +ADL stands for Adventure Definition Language. It is a superset, with +greatly enhanced capabilities, of an older language named DDL. DDL was +originally written in 1981 by Michael Urban, Chris Kostanick, Michael +Stein, Bruce Adler, and Warren Usui, all of the UCLA Computer Club. + +Includes compiler (adlcomp), runtime (adlrun), debugger (adldebug), +and two sample games (aard and mpu). Documentation and sample code is +installed in /usr/doc/adl-$VERSION. diff --git a/games/adl/adl.SlackBuild b/games/adl/adl.SlackBuild new file mode 100644 index 0000000000..fb18cccc1c --- /dev/null +++ b/games/adl/adl.SlackBuild @@ -0,0 +1,107 @@ +#!/bin/sh + +# Slackware build script for adl + +# Written by B. Watson (yalhcru@gmail.com) + +# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ +# for details. + +# VERSION is the timestamp of the tarball. Most of the files +# inside are stamped May 10 1991, and the copyright notice +# says 1987. + +# In case anyone's wondering: compiled ADL files are NOT architecture +# independent. 32-bit adlcomp produces files that won't run on a 64-bit +# adlrun, and vice versa. + +PRGNAM=adl +VERSION=${VERSION:-19930322} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +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" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM +tar xvf $CWD/$PRGNAM.tar.Z +cd $PRGNAM +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 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Patch does this: +# - fix various compile errors (mostly relating to lack of ANSI prototypes). +# - remove 'extern char *malloc()' and such, include system headers instead. +# - add support for OPTFLAGS (instead of hard-coded -O in CFLAGS). +# - -DADL_NAME="/usr/games/adlrun" (for adlcomp's emitted shebang lines). +# - stop adlrun from opening game files read/write: it never writes to them, +# and the open fails for e.g. non-root user trying to run /usr/games/aard. +patch -p1 < $CWD/compilefixes.diff + +# 'make install' doesn't create directories. +mkdir -p $PKG/usr/games $PKG/usr/man/man6 + +make all install BIN=$PKG/usr/games OPTFLAGS="$SLKCFLAGS" + +# the adltouch utility is broken, don't include in package. +# adldebug also seems like it might be broken, but it might just be that +# I'm using it wrong. +rm -f $PKG/usr/games/adltouch + +# a couple of the samples are complete games, let's install them. +cp -a samples/aard/aard samples/mpu/mpu $PKG/usr/games + +# we're going to install samples/ in /usr/doc, but not the compiled games. +make -C samples clean + +# use reconstituted man pages instead of the preformatted ones in the +# source. See fixman.sh. +for page in $CWD/man/*.6; do + gzip -9c < $page > $PKG/usr/man/man6/$( basename $page ).gz +done + +DOCDIR=$PKG/usr/doc/$PRGNAM-$VERSION +mkdir -p $DOCDIR +# rename this so no GUIs think it's a MS Word doc: +cp -a man/adl.doc $DOCDIR/adl.doc.txt +cp -a copyrigh readme samples $DOCDIR +cat $CWD/$PRGNAM.SlackBuild > $DOCDIR/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/games/adl/adl.info b/games/adl/adl.info new file mode 100644 index 0000000000..4548df0069 --- /dev/null +++ b/games/adl/adl.info @@ -0,0 +1,10 @@ +PRGNAM="adl" +VERSION="19930322" +HOMEPAGE="http://www.ifarchive.org/indexes/if-archiveXprogrammingXadl.html" +DOWNLOAD="http://www.ifarchive.org/if-archive/programming/adl/adl.tar.Z" +DOWNLOAD_x86_64="" +MD5SUM="b01115cc2625441caf818e60527b4095" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="B. Watson" +EMAIL="yalhcru@gmail.com" diff --git a/games/adl/compilefixes.diff b/games/adl/compilefixes.diff new file mode 100644 index 0000000000..13b87cf52e --- /dev/null +++ b/games/adl/compilefixes.diff @@ -0,0 +1,272 @@ +diff -Naur adl/adlcomp/adlcomp.c adl.patched/adlcomp/adlcomp.c +--- adl/adlcomp/adlcomp.c 1991-05-10 07:17:56.000000000 -0400 ++++ adl.patched/adlcomp/adlcomp.c 2015-02-16 17:59:34.000000000 -0500 +@@ -55,8 +55,6 @@ + *outname = "adlcomp.out", /* Default output file name */ + *dirnames[MAXDIR]; /* -i names */ + +-extern char *calloc(); /* Memory allocator */ +- + struct pagetab codetab; /* Structure for virtual code */ + + int16 NUM_VARS = 64, /* Default # of ADL variables */ +@@ -394,7 +392,7 @@ + getfile() + { + char *fsave; +- char msg[ 80 ], nsave[ 512 ], t_in[ 512 ], *sprintf(); ++ char msg[ 80 ], nsave[ 512 ], t_in[ 512 ]; + int16 lsave, numsave, i, found; + + lexer(); /* Get a token. */ +diff -Naur adl/adlcomp/compdict.c adl.patched/adlcomp/compdict.c +--- adl/adlcomp/compdict.c 1991-05-10 07:18:03.000000000 -0400 ++++ adl.patched/adlcomp/compdict.c 2015-02-16 17:59:34.000000000 -0500 +@@ -7,9 +7,6 @@ + + #define HTSIZE 512 /* Size of a hash table */ + +-char +- *calloc(); +- + /* Structure of a hash table entry */ + struct hash_entry { + struct symbol +@@ -187,7 +184,6 @@ + } + + +-static + write_hash( fd, tab, writing ) + int + fd; +diff -Naur adl/adlcomp/makefile adl.patched/adlcomp/makefile +--- adl/adlcomp/makefile 1991-05-21 16:32:27.000000000 -0400 ++++ adl.patched/adlcomp/makefile 2015-02-16 17:59:34.000000000 -0500 +@@ -14,7 +14,7 @@ + BIN = /User/stephan/Adventures/adl + + # Flags for CC +-CFLAGS = -I${INC} -O '-DADL_NAME="${BIN}/ADLrun"' ++CFLAGS = -I${INC} ${OPTFLAGS} '-DADL_NAME="/usr/games/adlrun"' + + # Flags for lint + LFLAGS = -DLINT -I${INC} -C +diff -Naur adl/adlrun/adlmacro.c adl.patched/adlrun/adlmacro.c +--- adl/adlrun/adlmacro.c 1991-05-10 07:18:40.000000000 -0400 ++++ adl.patched/adlrun/adlmacro.c 2015-02-16 17:59:34.000000000 -0500 +@@ -7,9 +7,6 @@ + struct macro + *mactab; + +-extern char +- *calloc(); +- + define( str1, str2 ) + char + *str1, +diff -Naur adl/adlrun/adlrun.c adl.patched/adlrun/adlrun.c +--- adl/adlrun/adlrun.c 1991-05-10 07:18:28.000000000 -0400 ++++ adl.patched/adlrun/adlrun.c 2015-02-16 17:59:34.000000000 -0500 +@@ -83,8 +83,6 @@ + *getml(); + # define calloc( size, num ) getml( (long)(size * num) ) + #else +- extern char +- *calloc(); + #endif + + #define islegal(c) (c&&(c!=' ')&&(c!='\t')&&(c!='\n')&&(c!='-')) +diff -Naur adl/adlrun/adlscrn.c adl.patched/adlrun/adlscrn.c +--- adl/adlrun/adlscrn.c 1991-05-21 16:15:59.000000000 -0400 ++++ adl.patched/adlrun/adlscrn.c 2015-02-16 17:59:34.000000000 -0500 +@@ -8,6 +8,8 @@ + #define TERMCAP + + #include ++#include ++#include + + #include "adltypes.h" + #include "adlprog.h" +diff -Naur adl/adlrun/adlstr.c adl.patched/adlrun/adlstr.c +--- adl/adlrun/adlstr.c 1991-05-10 07:18:38.000000000 -0400 ++++ adl.patched/adlrun/adlstr.c 2015-02-16 17:59:34.000000000 -0500 +@@ -7,9 +7,6 @@ + #include "vstring.h" + #include "adlrun.h" + +-extern char +- *malloc(); +- + eqstring() + { + char +diff -Naur adl/adlrun/makefile adl.patched/adlrun/makefile +--- adl/adlrun/makefile 1991-05-21 16:18:10.000000000 -0400 ++++ adl.patched/adlrun/makefile 2015-02-16 17:59:56.000000000 -0500 +@@ -16,7 +16,7 @@ + BIN = /User/stephan/Adventures/adl + + # Flags for CC +-CFLAGS = -I${INC} -O ++CFLAGS = -I${INC} ${OPTFLAGS} + + # Flags for the linker - you may need to change -lcurses to -ltermcap + # or -ltermlib. +diff -Naur adl/adlrun/rtdict.c adl.patched/adlrun/rtdict.c +--- adl/adlrun/rtdict.c 1991-05-10 07:18:22.000000000 -0400 ++++ adl.patched/adlrun/rtdict.c 2015-02-16 17:59:34.000000000 -0500 +@@ -21,9 +21,6 @@ + static struct letter + *trie; /* The dictionary */ + +-char +- *malloc(); +- + /***************************************************************\ + * * + * new_letter( let ) - allocate a new letter for the * +diff -Naur adl/include/adlrun.h adl.patched/include/adlrun.h +--- adl/include/adlrun.h 1991-05-10 07:15:37.000000000 -0400 ++++ adl.patched/include/adlrun.h 2015-02-16 17:59:34.000000000 -0500 +@@ -147,7 +147,6 @@ + nummacro(); /* Returns number of macros defined */ + + extern char +- *malloc(), /* Memory allocation */ + *findone(), /* Find a symbol. */ + *expand(); /* Try to macro-expand a string */ + +diff -Naur adl/include/adltypes.h adl.patched/include/adltypes.h +--- adl/include/adltypes.h 1991-05-21 16:40:38.000000000 -0400 ++++ adl.patched/include/adltypes.h 2015-02-16 17:59:34.000000000 -0500 +@@ -1,3 +1,6 @@ ++#include ++#include ++ + /* Undefine any predefined things */ + #ifdef HPUX + # undef HPUX +@@ -100,7 +103,7 @@ + typedef unsigned short address; + # define SRAND srand + # define RAND rand() +-# define RB O_RDWR ++# define RB O_RDONLY + # define WB (O_RDWR | O_CREAT | O_TRUNC) + #endif + +@@ -111,7 +114,7 @@ + typedef unsigned short address; + # define SRAND srandom + # define RAND random() +-# define RB O_RDWR ++# define RB O_RDONLY + # define WB (O_RDWR | O_CREAT | O_TRUNC) + #endif + +@@ -123,7 +126,7 @@ + # define SRAND srand + # define RAND rand() + # define time mytime +-# define RB O_RDWR ++# define RB O_RDONLY + # define WB (O_RDWR | O_CREAT | O_TRUNC) + #endif + +diff -Naur adl/misc/adldebug.c adl.patched/misc/adldebug.c +--- adl/misc/adldebug.c 1991-05-10 07:21:18.000000000 -0400 ++++ adl.patched/misc/adldebug.c 2015-02-16 17:59:34.000000000 -0500 +@@ -46,9 +46,6 @@ + address *routspace; /* Routine indexes */ + int32 *str_tab; /* String table */ + +-char +- *malloc(); /* Memory allocator */ +- + main( argc, argv ) + int + argc; +diff -Naur adl/misc/adltouch.c adl.patched/misc/adltouch.c +--- adl/misc/adltouch.c 1991-05-10 07:21:22.000000000 -0400 ++++ adl.patched/misc/adltouch.c 2015-02-16 17:59:34.000000000 -0500 +@@ -1,6 +1,7 @@ + /* Adltouch - touch an ADL save file */ + + #include ++#include + + #if MSDOS + # define RB "rb+" +diff -Naur adl/misc/makefile adl.patched/misc/makefile +--- adl/misc/makefile 1991-05-21 16:10:15.000000000 -0400 ++++ adl.patched/misc/makefile 2015-02-16 18:00:06.000000000 -0500 +@@ -5,7 +5,7 @@ + INC = ../include + + # Flags for CC +-CFLAGS = -O -I${INC} ++CFLAGS = ${OPTFLAGS} -I${INC} + + # Commands for shar + # AR = shar -c -v +diff -Naur adl/samples/aard/makefile adl.patched/samples/aard/makefile +--- adl/samples/aard/makefile 1991-05-10 07:16:46.000000000 -0400 ++++ adl.patched/samples/aard/makefile 2015-02-16 17:59:34.000000000 -0500 +@@ -7,7 +7,7 @@ + all : aard + + aard : *.adl ../../adlcomp/adlcomp ../standard.adl +- adlcomp aard.adl -w -o aard -i.. ++ ../../adlcomp/adlcomp aard.adl -w -o aard -i.. + shar : aard1.shar aard2.shar + + clean : +diff -Naur adl/samples/demos/makefile adl.patched/samples/demos/makefile +--- adl/samples/demos/makefile 1991-05-10 07:17:08.000000000 -0400 ++++ adl.patched/samples/demos/makefile 2015-02-16 17:59:34.000000000 -0500 +@@ -19,13 +19,13 @@ + > ${D}demos.shar ) + + actdemo : actdemo.adl ../standard.adl +- adlcomp actdemo.adl -o actdemo -i .. ++ ../../adlcomp/adlcomp actdemo.adl -o actdemo -i .. + + baby : baby.adl ../standard.adl +- adlcomp baby.adl -i.. -o baby ++ ../../adlcomp/adlcomp baby.adl -i.. -o baby + + multi : multi.adl +- adlcomp multi.adl -o multi ++ ../../adlcomp/adlcomp multi.adl -o multi + + tiny : tiny.adl ../standard.adl +- adlcomp tiny.adl -i.. -o tiny ++ ../../adlcomp/adlcomp tiny.adl -i.. -o tiny +diff -Naur adl/samples/mpu/makefile adl.patched/samples/mpu/makefile +--- adl/samples/mpu/makefile 1991-05-10 07:17:32.000000000 -0400 ++++ adl.patched/samples/mpu/makefile 2015-02-16 17:59:34.000000000 -0500 +@@ -7,7 +7,7 @@ + all : mpu + + mpu : *.adl ../../adlcomp/adlcomp ../standard.adl +- adlcomp mpu.adl -i.. -o mpu ++ ../../adlcomp/adlcomp mpu.adl -i.. -o mpu + + shar : mpu1.shar mpu2.shar + +diff -Naur adl/util/makefile adl.patched/util/makefile +--- adl/util/makefile 1991-05-10 07:15:58.000000000 -0400 ++++ adl.patched/util/makefile 2015-02-16 18:00:55.000000000 -0500 +@@ -4,8 +4,8 @@ + B = .. + D = util/ + +-DFLAGS = -O +-CFLAGS = -I${INC} ${DFLAGS} ++DFLAGS = ++CFLAGS = -I${INC} ${DFLAGS} ${OPTFLAGS} + + OBJS = vstring.o virtmem.o mytime.o + diff --git a/games/adl/fixman.sh b/games/adl/fixman.sh new file mode 100644 index 0000000000..a500103ea0 --- /dev/null +++ b/games/adl/fixman.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +# fixman.sh - part of SBo adl build. B Watson (yalhcru@gmail.com), WTFPL. + +# needs polyglotman. + +# have to install man pages manually. Unfortunately they're preformatted, +# and look like crap with Slackware's man command, so I wrote this little +# script to clean them up. + +# If ever needed again, the commands to clean up the man pages: +# tar xvf adl.tar.Z +# mkdir -p man +# for i in adl/man/*.6; do sh fixman.sh $i > man/`basename $i`; done +# rm -rf adl + +# This script needs polyglotman installed, and I don't want to list that +# in REQUIRES, so I include the results of fixman.sh instead of running +# it in the SlackBuild. + +# in English: each file is converted to perl POD format using rman, then +# rman's output is cleaned up and piped to pod2man, which produces roff +# man page source on stdout. + +VERSION=${VERSION:-19930322} + +[ -z "$1" ] && echo "$0 requires a filename argument" 2>&1 && exit 1 + +name=$( echo $1 | sed 's,\..*,,' | tr a-z A-Z ) +rman -f pod $1 | \ + perl -ple 's,\s+, ,g; s,^\s*,,; s,^(=head1)\s+(.*)$,$1." ".uc($2),e' | + pod2man -s6 -r$VERSION --stderr -n$name -cSlackBuilds.org diff --git a/games/adl/man/adlcomp.6 b/games/adl/man/adlcomp.6 new file mode 100644 index 0000000000..c8dd398aab --- /dev/null +++ b/games/adl/man/adlcomp.6 @@ -0,0 +1,249 @@ +.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "A/ADL/MAN/ADLCOMP 6" +.TH A/ADL/MAN/ADLCOMP 6 "2015-02-16" "19930322" "SlackBuilds.org" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +adlcomp \- compile an ADL program +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +adlcomp file [ \-o outfile ] [ \-idir ] [ \-tdir ] [ \-d ] [\-w ] +[ \-en ] [ \-gn ] [ \-mn ] [ \-nn ] [ \-pn ] [ \-rn ] [ \-sn ] [ +\&\-vn ] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +Adlcomp reads an \s-1ADL\s0 program from file and produces an +output file which contains the tables and interpretive code +necessary to play the game described by the program (using +\&\fIadlrun\fR\|(6)). Error messages are produced on the standard +error output, and a data summary is produced on the standard +output. The following options are available: +.IP "\-o outfile" 12 +.IX Item "-o outfile" +The result of the compilation is saved in +outfile. The result is saved in adlcomp.out in +the current directory if this option is not +specified. +.IP "\-idir" 12 +.IX Item "-idir" +\&\s-1INCLUDE\s0 files are searched for first in the +current directory, then in directories specified +by \-i dir options. Up to 4 \-i options may be +present. +.IP "\-tdir" 12 +.IX Item "-tdir" +Adlcomp writes two temporary files in the +process of compilation. This option tells +adlcomp which directory (or disk, on those +systems which allow it) to use for these +temporary files. The default is \*(L"/tmp\*(R" on UN*X +operating systems, \*(L"\s-1RAM:\*(R"\s0 on the Amiga, and the +current directory on MS-DOS. +.IP "\-d" 12 +.IX Item "-d" +Puts adlcomp into debugging mode. All symbols +are written out to outfile, and additional code +is produced which keeps track of the file name +and line number. \-d implies \-w. +.IP "\-w" 12 +.IX Item "-w" +Suppress the printing of warning messages. +.IP "\-en" 12 +.IX Item "-en" +Sets the maximum number of errors to n. The +default is \-1 (no maximum). If the number of +errors encountered is greater than n, adlcomp +aborts. +.IP "\-gn" 12 +.IX Item "-gn" +Sets the maximum number of globals to n. The +default value is 64. +.IP "\-mn" 12 +.IX Item "-mn" +Sets the maximum number of messages (strings +enclosed in double quotes) to n. The default +value is 1024. +.IP "\-nn" 12 +.IX Item "-nn" +Sets the maximum number of NOUNs to n. The +default value is 256. +.IP "\-pn" 12 +.IX Item "-pn" +Sets the maximum number of preposition synonyms +to n. The default value is 8. +.IP "\-rn" 12 +.IX Item "-rn" +Sets the maximum number of routines to n. The +default value is 512. +.IP "\-sn" 12 +.IX Item "-sn" +Sets the maximum number of verb phrases to n. +The default value is 8. +.IP "\-vn" 12 +.IX Item "-vn" +Sets the maximum number of verbs to n. The +default value is 128. +.SH "CONFORMANCE" +.IX Header "CONFORMANCE" +This version of adlcomp has a 255\-character limit on +compile-time strings. It implements Pascal-like \s-1LOCAL\s0 +variables. +.SH "EXAMPLE" +.IX Header "EXAMPLE" +adlcomp aard.adl \-o aard \-w +.SH "FILES" +.IX Header "FILES" +adlsval.tmp +String paging file +.PP +adlcode.tmp +Instruction paging file +.PP +*.adl +\&\s-1ADL\s0 source files +.SH "WARNING" +.IX Header "WARNING" +On Amiga computers, the stack should be set to at least +10000 before running adlcomp. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIadlrun\fR\|(6) +\&\fIadldebug\fR\|(6) +Brengle and Cunniff: The \s-1ADL\s0 Programmer's Reference Manual +Adler, Kostanick, Stein and Urban: A Brief Introduction to +\&\s-1UCLA\s0 Dungeon Definition Language diff --git a/games/adl/man/adldebug.6 b/games/adl/man/adldebug.6 new file mode 100644 index 0000000000..0a783759af --- /dev/null +++ b/games/adl/man/adldebug.6 @@ -0,0 +1,163 @@ +.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "A/ADL/MAN/ADLDEBUG 6" +.TH A/ADL/MAN/ADLDEBUG 6 "2015-02-16" "19930322" "SlackBuilds.org" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +adldebug \- print information about an ADL game +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +adldebug infile +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +Adldebug reads a datafile, infile, which contains tables and +routines necessary to play a generalized \fIAdventure\fR\|(6)\-like +game. Using adldebug, one may do such things as examine the +contents of objects, view the code genereated by \fIadlcomp\fR\|(6), +or print out the various messages found in the source. For +a full list of commands, type \*(L"?\*(R" after receiving the +prompt. To terminate adldebug, either type \*(L"q\*(R" or the \s-1EOF\s0 +character. +.SH "EXAMPLE" +.IX Header "EXAMPLE" +adldebug aard +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIadlcomp\fR\|(6) +\&\fIadlrun\fR\|(6) +Brengle and Cunniff: The \s-1ADL\s0 Programmer's Reference Manual diff --git a/games/adl/man/adlrun.6 b/games/adl/man/adlrun.6 new file mode 100644 index 0000000000..d577ba479a --- /dev/null +++ b/games/adl/man/adlrun.6 @@ -0,0 +1,189 @@ +.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "A/ADL/MAN/ADLRUN 6" +.TH A/ADL/MAN/ADLRUN 6 "2015-02-16" "19930322" "SlackBuilds.org" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +adlrun \- run an ADL game +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +adlrun [ infile ] [ \-d ] [ \-h ] [ \-r savefile ] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +Adlrun reads a datafile, infile, (or adlcomp.out, if infile +is not specified) which contains tables and routines +necessary to play a generalized \fIAdventure\fR\|(6)\-like game. The +game is terminated either by a quit command recognized by +the \s-1ADL\s0 program, or by an end-of-file or interrupt. The +following options are recognized: +.IP "\-d" 14 +.IX Item "-d" +Turns on instruction tracing during execution +(a rather messy process). +.IP "\-h" 14 +.IX Item "-h" +Prints out header lines of the form \*(L"Room name +Score: Moves:\*(R" if the \s-1ADL\s0 program allows for +it. +.IP "\-r savefile" 14 +.IX Item "-r savefile" +Restores the state of the game to the state +previously saved in savefile. Savefile must +be a valid \s-1ADL\s0 save file. +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +\&\s-1TERM\s0 On versions of adlrun which use termcap, the +environment variable \s-1TERM\s0 should contain the name of +the terminal type desired. +.IP "\s-1LINES\s0" 5 +.IX Item "LINES" +\&\s-1LINES\s0 should be set to the number of lines of text on +the screen. +.SH "CONFORMANCE" +.IX Header "CONFORMANCE" +The ($spec 6 prog arg1 ...) (execute a program) function is +only implemented on computers running a version of the UN*X +operating system. +.SH "EXAMPLE" +.IX Header "EXAMPLE" +adlrun \-h aard +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIadlcomp\fR\|(6) +\&\fIadldebug\fR\|(6) +Brengle and Cunniff: The \s-1ADL\s0 Programmer's Reference Manual diff --git a/games/adl/slack-desc b/games/adl/slack-desc new file mode 100644 index 0000000000..8732d129f9 --- /dev/null +++ b/games/adl/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------------------------------------------------------| +adl: adl (compiler and runtime for adventure definition language) +adl: +adl: ADL stands for Adventure Definition Language. It is a superset, with +adl: greatly enhanced capabilities, of an older language named DDL. DDL was +adl: originally written in 1981 by Michael Urban, Chris Kostanick, Michael +adl: Stein, Bruce Adler, and Warren Usui, all of the UCLA Computer Club. +adl: +adl: Includes compiler (adlcomp), runtime (adlrun), debugger (adldebug), +adl: and two sample games (aard and mpu). Documentation and sample code +adl: is installed in /usr/doc/adl-$VERSION. +adl: -- cgit v1.2.3