Resurrect the old-school BSD games.

This commit is contained in:
Cy Schubert 2012-02-08 05:35:19 +00:00
parent 599795d10c
commit 7e3d00634a
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=290696
33 changed files with 1003 additions and 0 deletions

View file

@ -0,0 +1,79 @@
# Ports collection makefile for: games
# Date created: 20 Nov 2002
# Whom: Mark Murray <markm@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= freebsd-games
PORTVERSION= 5.1.1
PORTREVISION= 7
CATEGORIES= games
MASTER_SITES= ${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR=cy
MAINTAINER= cy@FreeBSD.org
COMMENT= FreeBSD-modified "Standard" BSD games
USE_BZIP2= yes
MAN6= \
adventure.6 \
arithmetic.6 \
atc.6 \
backgammon.6 \
battlestar.6 \
bs.6 \
canfield.6 \
cfscores.6 \
cribbage.6 \
fish.6 \
hack.6 \
hangman.6 \
larn.6 \
mille.6 \
phantasia.6 \
piano.6 \
pig.6 \
quiz.6 \
robots.6 \
rogue.6 \
sail.6 \
snake.6 \
snscore.6 \
trek.6 \
worm.6 \
wump.6
MANCOMPRESSED= maybe
PATHNAME_FILES= atc/atc.6 \
atc/pathnames.h \
cribbage/pathnames.h \
fish/pathnames.h \
larn/pathnames.h \
quiz/datfiles/index \
quiz/pathnames.h \
quiz/quiz.6 \
wump/pathnames.h
.include <bsd.port.pre.mk>
post-extract:
@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} \
${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} extract)
post-patch:
@${FIND} ${WRKSRC} -name '*.c' -or -name '*.h' -or -name '*.6' -or \
-name 'index' | ${XARGS} ${REINPLACE_CMD} -e \
's|share/games|local/share/games|g'
@${FIND} ${WRKSRC} -name 'Makefile' | \
${XARGS} ${REINPLACE_CMD} 's|$${LIBCOMPAT}||g;;s|-lcompat||g'
@for f in ${PATHNAME_FILES}; do \
${REINPLACE_CMD} -e 's|/usr/local/local/local|${PREFIX}|g' \
${WRKSRC}/$${f}; \
done
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' \
"${WRKSRC}/hack/hack.unix.c"
.include <bsd.port.post.mk>

View file

@ -0,0 +1,3 @@
MD5 (freebsd-games-5.1.1.tar.bz2) = 31c098a1ef0d198a6456e26b6d65be72
SHA256 (freebsd-games-5.1.1.tar.bz2) = 2ef700e090c975c7d6807a556ca29acc11215ba43f3ad26ad555a63cb3f72f71
SIZE (freebsd-games-5.1.1.tar.bz2) = 2434501

View file

@ -0,0 +1,11 @@
--- adventure/crc.c.bak Sat Feb 23 01:59:45 2002
+++ adventure/crc.c Wed Sep 29 03:29:37 2004
@@ -120,7 +120,7 @@
/* Process nr bytes at a time; ptr points to them */
u_long
-crc(const char *ptr, size_t nr)
+crc(const char *ptr, ssize_t nr)
{
int i;
const char *p;

View file

@ -0,0 +1,11 @@
--- adventure/hdr.h.bak Mon Nov 10 15:46:52 2003
+++ adventure/hdr.h Wed Sep 29 03:30:55 2004
@@ -167,7 +167,7 @@
void checkhints (void);
void ciao (void);
extern gid_t egid;
-u_long crc (const char *ptr, size_t nr);
+u_long crc (const char *ptr, ssize_t nr);
void crc_start (void);
int dark (void);
void datime (int *d, int *t);

View file

@ -0,0 +1,10 @@
Index: atc/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PROG= atc
-CFLAGS+=-DBSD -I${.CURDIR} -I.
+CFLAGS+=-DPOSIX -I${.CURDIR} -I.
SRCS= extern.c grammar.y graphics.c input.c lex.l list.c log.c \
main.c tunable.c update.c y.tab.h
MAN= atc.6

View file

@ -0,0 +1,35 @@
Index: atc/include.h
@@ -63,6 +63,14 @@
#include <sys/utsname.h>
#endif
+#ifdef POSIX
+#include <termios.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+#include <sys/utsname.h>
+#endif
+
#include <signal.h>
#include <math.h>
@@ -76,6 +84,18 @@
#define srandom srand
#define random rand
#define sgttyb termio
+#define sg_erase c_cc[VERASE]
+#define sg_kill c_cc[VKILL]
+#endif
+
+#ifdef POSIX
+#define index strchr
+#define rindex strrchr
+#define bcopy(a,b,c) memcpy((b), (a), (c))
+#define bzero(a,b) memset((a), '\0', (b))
+#define srandom srand
+#define random rand
+#define sgttyb termios
#define sg_erase c_cc[2]
#define sg_kill c_cc[3]
#endif

View file

@ -0,0 +1,23 @@
Index: atc/input.c
@@ -323,6 +323,10 @@
int aval;
aval = alarm(0);
#endif
+#ifdef POSIX
+ int aval;
+ aval = alarm(0);
+#endif
if (fork() == 0) /* child */
{
char *shell, *base;
@@ -358,6 +362,10 @@
#endif
#ifdef SYSV
ioctl(fileno(stdin), TCSETAW, &tty_new);
+ alarm(aval);
+#endif
+#ifdef POSIX
+ tcsetattr(fileno(stdin), TCSANOW, &tty_new);
alarm(aval);
#endif
}

View file

@ -0,0 +1,47 @@
Index: atc/main.c
@@ -173,6 +173,15 @@
ioctl(fileno(stdin), TCSETAW, &tty_new);
#endif
+#ifdef POSIX
+ tcgetattr(fileno(stdin), &tty_start);
+ bcopy(&tty_start, &tty_new, sizeof(tty_new));
+ tty_new.c_lflag &= ~ICANON;
+ tty_new.c_lflag &= ~ECHO;
+ tty_new.c_cc[VMIN] = 1;
+ tty_new.c_cc[VTIME] = 0;
+ tcsetattr(fileno(stdin), TCSANOW, &tty_new);
+#endif
signal(SIGALRM, update);
#ifdef BSD
@@ -185,6 +194,9 @@
#ifdef SYSV
alarm(sp->update_secs);
#endif
+#ifdef POSIX
+ alarm(sp->update_secs);
+#endif
for (;;) {
if (getcommand() != 1)
@@ -198,6 +210,9 @@
#ifdef SYSV
alarm(0);
#endif
+#ifdef POSIX
+ alarm(0);
+#endif
update();
@@ -209,6 +224,9 @@
setitimer(ITIMER_REAL, &itv, NULL);
#endif
#ifdef SYSV
+ alarm(sp->update_secs);
+#endif
+#ifdef POSIX
alarm(sp->update_secs);
#endif
}

View file

@ -0,0 +1,29 @@
Index: backgammon/backgammon/main.c
@@ -113,13 +111,13 @@
signal (SIGINT,getout); /* trap interrupts */
if (gtty (0,&tty) == -1) /* get old tty mode */
errexit ("backgammon(gtty)");
- old = tty.sg_flags;
+ old = tty.c_lflag;
#ifdef V7
- raw = ((noech = old & ~ECHO) | CBREAK); /* set up modes */
+ raw = ((noech = old & ~ECHO) & ~ICANON); /* set up modes */
#else
raw = ((noech = old & ~ECHO) | RAW); /* set up modes */
#endif
- ospeed = tty.sg_ospeed; /* for termlib */
+ ospeed = cfgetospeed(&tty); /* for termlib */
/* get terminal
* capabilities, and
@@ -135,8 +133,8 @@
getarg (argc, argv);
args[acnt] = NULL;
if (tflag) { /* clear screen */
- noech &= ~(CRMOD|XTABS);
- raw &= ~(CRMOD|XTABS);
+ noech &= ~(ICRNL|OXTABS);
+ raw &= ~(ICRNL|OXTABS);
clear();
}
fixtty (raw); /* go into raw mode */

View file

@ -0,0 +1,25 @@
Index: backgammon/common_source/back.h
@@ -33,7 +33,13 @@
* @(#)back.h 8.1 (Berkeley) 5/31/93
*/
-#include <sgtty.h>
+#include <termios.h>
+
+#define sg_erase c_cc[2]
+#define sg_kill c_cc[3]
+
+#define gtty(_a,_b) tcgetattr(_a,_b)
+#define stty(_a,_b) tcsetattr(_a,TCSANOW,_b)
#define rnum(r) (random()%r)
#define D0 dice[0]
@@ -114,7 +120,7 @@
extern const char *const *Colorptr; /* color of current player, capitalized */
extern int colen; /* length of color of current player */
-extern struct sgttyb tty; /* tty information buffer */
+extern struct termios tty; /* tty information buffer */
extern int old; /* original tty status */
extern int noech; /* original tty status without echo */
extern int raw; /* raw tty status, no echo */

View file

@ -0,0 +1,10 @@
Index: backgammon/common_source/subs.c
@@ -420,7 +418,7 @@
if (tflag)
newpos();
buflush();
- tty.sg_flags = mode;
+ tty.c_lflag = mode;
if (stty (0,&tty) < 0)
errexit("fixtty");
}

View file

@ -0,0 +1,25 @@
Index: backgammon/teachgammon/teach.c
@@ -94,18 +92,18 @@
signal (SIGINT,getout);
if (gtty (0,&tty) == -1) /* get old tty mode */
errexit ("teachgammon(gtty)");
- old = tty.sg_flags;
+ old = tty.c_lflag;
#ifdef V7
- raw = ((noech = old & ~ECHO) | CBREAK); /* set up modes */
+ raw = ((noech = old & ~ECHO) & ~ICANON); /* set up modes */
#else
raw = ((noech = old & ~ECHO) | RAW); /* set up modes */
#endif
- ospeed = tty.sg_ospeed; /* for termlib */
+ ospeed = cfgetospeed(&tty); /* for termlib */
tflag = getcaps (getenv ("TERM"));
getarg (argc, argv);
if (tflag) {
- noech &= ~(CRMOD|XTABS);
- raw &= ~(CRMOD|XTABS);
+ noech &= ~(ICRNL|OXTABS);
+ raw &= ~(ICRNL|OXTABS);
clear();
}
text (hello);

View file

@ -0,0 +1,11 @@
--- battlestar/init.c.old Mon Dec 15 17:48:41 2003
+++ battlestar/init.c Mon Dec 15 17:48:54 2003
@@ -62,7 +62,7 @@
puts("Admiral D.W. Riggle\n");
srandomdev();
getutmp(uname);
- if (startup)
+ if (startup == NULL)
location = dayfile;
wiz = wizard(uname);
wordinit();

View file

@ -0,0 +1,12 @@
Index: hack/Makefile
@@ -17,7 +17,9 @@
MAN= hack.6
DPADD= ${LIBTERMCAP} ${LIBCOMPAT}
LDADD= -ltermcap -lcompat
-CFLAGS+= -fwritable-strings -I${.CURDIR} -I.
+CFLAGS+= -DPOSIX -I${.CURDIR} -I.
+BINGRP=games
+BINMODE=2555
FILES= rumors help hh data
FILESMODE_rumors= 440
FILESGRP= ${BINGRP}

View file

@ -0,0 +1,9 @@
Index: hack/config.h
@@ -22,7 +22,6 @@
* Also, the code for suspend and various ioctls is only given for BSD4.2
* (I do not have access to a SYSV system.)
*/
-#define BSD /* delete this line on System V */
/* #define STUPID */ /* avoid some complicated expressions if
your C compiler chokes on them */

View file

@ -0,0 +1,29 @@
Index: hack/hack.ioctl.c
@@ -13,6 +13,9 @@
#ifdef BSD
#include <sgtty.h>
struct ltchars ltchars, ltchars0;
+#elif POSIX
+#include <termios.h>
+struct termios termio;
#else
#include <termio.h> /* also includes part of <sgtty.h> */
struct termio termio;
@@ -22,6 +25,8 @@
#ifdef BSD
(void) ioctl(fileno(stdin), (int) TIOCGLTC, (char *) &ltchars);
(void) ioctl(fileno(stdin), (int) TIOCSLTC, (char *) &ltchars0);
+#elif POSIX
+ tcgetattr(fileno(stdin), &termio);
#else
(void) ioctl(fileno(stdin), (int) TCGETA, &termio);
#endif /* BSD */
@@ -30,6 +35,8 @@
setioctls() {
#ifdef BSD
(void) ioctl(fileno(stdin), (int) TIOCSLTC, (char *) &ltchars);
+#elif POSIX
+ tcsetattr(fileno(stdin), TCSANOW, &termio);
#else
(void) ioctl(fileno(stdin), (int) TCSETA, &termio);
#endif /* BSD */

View file

@ -0,0 +1,10 @@
Index: hack/hack.pager.c
@@ -367,6 +367,8 @@
#else
#ifdef BSD
+#include <sys/wait.h>
+#elif POSIX
#include <sys/wait.h>
#else
#include <wait.h>

View file

@ -0,0 +1,46 @@
--- hack/hack.shk.c.orig Sun May 27 21:36:53 2007
+++ hack/hack.shk.c Sun May 27 21:38:28 2007
@@ -131,11 +131,11 @@ struct bill_x *bp = bill;
}
}
+static void findshk();
+
inshop(){
int roomno = inroom(u.ux,u.uy);
- static void findshk();
-
/* Did we just leave a shop? */
if(u.uinshop &&
(u.uinshop != roomno + 1 || shlevel != dlevel || !shopkeeper)) {
@@ -308,14 +308,14 @@ struct monst *shkp;
}
}
+static int dopayobj();
+
dopay(){
long ltmp;
struct bill_x *bp;
struct monst *shkp;
int pass, tmp;
- static int dopayobj();
-
multi = 0;
(void) inshop();
for(shkp = fmon; shkp; shkp = shkp->nmon)
@@ -692,10 +692,11 @@ quit:
return(0);
}
+static int realhunger();
+
static
getprice(obj) struct obj *obj; {
int tmp, ac;
- static int realhunger();
switch(obj->olet){
case AMULET_SYM:

View file

@ -0,0 +1,26 @@
--- hack/hack.termcap.c.orig Tue Nov 16 11:26:38 1999
+++ hack/hack.termcap.c Sun May 27 21:39:48 2007
@@ -11,10 +11,11 @@
extern long *alloc();
static char tbuf[512];
-static char *HO, *CL, *CE, *UP, *CM, *ND, *XD, *BC, *SO, *SE, *TI, *TE;
+static char *HO, *CL, *CE, *CM, *ND, *XD, *SO, *SE, *TI, *TE;
+char *UP, *BC;
static char *VS, *VE;
static int SG;
-static char PC = '\0';
+char PC = '\0';
char *CD; /* tested in pri.c: docorner() */
int CO, LI; /* used in pri.c and whatis.c */
@@ -35,7 +36,8 @@ startup()
flags.nonull = 1;
if(pc = tgetstr("pc", &tbufptr))
PC = *pc;
- if(!(BC = tgetstr("bc", &tbufptr))) {
+ if(!(BC = tgetstr("bc", &tbufptr))
+ &&!(BC = tgetstr("le", &tbufptr))) {
if(!tgetflag("bs"))
error("Terminal must backspace.");
BC = tbufptr;

View file

@ -0,0 +1,42 @@
Index: hack/hack.tty.c
@@ -53,6 +53,7 @@
*/
#ifdef BSD
#define V7
+#elif POSIX
#else
#define USG
#endif /* BSD */
@@ -82,6 +83,21 @@
#define GTTY(x) (ioctl(0, TCGETA, x))
#define STTY(x) (ioctl(0, TCSETA, x)) /* TCSETAF? TCSETAW? */
+#elif POSIX
+#include <termios.h>
+#define termstruct termios
+#define kill_sym c_cc[VKILL]
+#define erase_sym c_cc[VERASE]
+#define EXTABS OXTABS
+#define tabflgs c_oflag
+#define echoflgs c_lflag
+#define cbrkflgs c_lflag
+#define CBRKMASK ICANON
+#define CBRKON ! /* reverse condition */
+#define OSPEED(x) cfgetospeed(x)
+#define GTTY(x) tcgetattr(fileno(stdin),x)
+#define STTY(x) tcsetattr(fileno(stdin),TCSANOW,x) /* TCSETAF? TCSETAW? */
+
#else /* V7 */
#include <sgtty.h>
@@ -169,6 +185,10 @@
/* be satisfied with one character; no timeout */
curttyb.c_cc[VMIN] = 1; /* was VEOF */
curttyb.c_cc[VTIME] = 0; /* was VEOL */
+#elif POSIX
+ /* be satisfied with one character; no timeout */
+ curttyb.c_cc[VMIN] = 1; /* was VEOF */
+ curttyb.c_cc[VTIME] = 0; /* was VEOL */
#endif /* USG */
change++;
}

View file

@ -0,0 +1,13 @@
$FreeBSD: /tmp/pcvs/ports/games/freebsd-games/files/Attic/patch-hack_hack.unix.c,v 1.3 2012-02-08 05:35:19 cy Exp $
--- hack/hack.unix.c.orig Thu Nov 20 10:17:36 2003
+++ hack/hack.unix.c Thu Nov 20 10:18:09 2003
@@ -86,7 +86,7 @@
/* old version - for people short of space */
char *np;
- name = "/usr/games/hide/hack";
+ name = "%%PREFIX%%/bin/hack";
if(stat(name, &hbuf))
error("Cannot get status of %s.",
(np = rindex(name, '/')) ? np+1 : name);

View file

@ -0,0 +1,10 @@
Index: larn/Makefile
@@ -54,7 +54,7 @@
PROG= larn
MAN= larn.6
-CFLAGS+=-DBSD -DVER=12 -DSUBVER=0 -DNONAP -DUIDSCORE -fwritable-strings -DNOVARARGS
+CFLAGS+=-DPOSIX -DVER=12 -DSUBVER=0 -DNONAP -DUIDSCORE -DNOVARARGS
SRCS= main.c object.c create.c tok.c display.c global.c data.c io.c \
monster.c store.c diag.c help.c config.c nap.c bill.c scores.c \
signal.c moreobj.c movem.c regen.c fortune.c savelev.c

View file

@ -0,0 +1,31 @@
$FreeBSD: /tmp/pcvs/ports/games/freebsd-games/files/Attic/patch-larn_diag.c,v 1.3 2012-02-08 05:35:19 cy Exp $
--- larn/diag.c 17 Jun 2003 04:25:24 -0000 1.2
+++ larn/diag.c 21 Jun 2004 02:28:34 -0000 1.3
@@ -210,7 +210,7 @@
if (beenhere[k])
lrfill((char*)&cell[k*MAXX*MAXY],sizeof(struct cel)*MAXY*MAXX);
- lrfill((char*)&c[0],100*sizeof(long)); gtime = lrint();
+ lrfill((char*)&c[0],100*sizeof(long)); gtime = lrint_x();
level = c[CAVELEVEL] = lgetc();
playerx = lgetc(); playery = lgetc();
lrfill((char*)iven,26); lrfill((char*)ivenarg,26*sizeof(short));
@@ -241,7 +241,7 @@
}
time(&zzz);
- initialtime = zzz-lrint();
+ initialtime = zzz-lrint_x();
fstat(fd,&filetimes); /* get the creation and modification time of file */
lrfill((char*)&zzz,sizeof(long)); zzz += 6;
if (filetimes.st_ctime > zzz) fsorry(); /* file create time */
@@ -249,7 +249,7 @@
if (c[HP]<0) { died(284); return; } /* died a post mortem death */
oldx = oldy = 0;
- i = lrint(); /* inode # */
+ i = lrint_x(); /* inode # */
if (i && (filetimes.st_ino!=i)) fsorry();
lrclose();
if (strcmp(fname,ckpfile) == 0)

View file

@ -0,0 +1,18 @@
Index: larn/header.h
@@ -326,7 +326,6 @@
#define DEMONLORD 57
#define DEMONPRINCE 64
-#define NULL 0
#define BUFBIG 4096 /* size of the output buffer */
#define MAXIBUF 4096 /* size of the input buffer */
#define LOGNAMESIZE 40 /* max size of the players name */
@@ -359,7 +359,7 @@
char *fortune(),*lgetw(),*lgetl();
char *tmcapcnv();
-long paytaxes(),lgetc(),lrint();
+long paytaxes(),lgetc(),lrint_x();
unsigned long readnum();
/* macro to create scroll #'s with probability of occurrence */

View file

@ -0,0 +1,46 @@
Index: larn/io.c
@@ -24,7 +24,7 @@
* FILE INPUT ROUTINES
*
* long lgetc() read one character from input buffer
- * long lrint() read one integer from input buffer
+ * long lrint_x() read one integer from input buffer
* lrfill(address,number) put input bytes into a buffer
* char *lgetw() get a whitespace ended word from input
* char *lgetl() get a \n or EOF ended line from input
@@ -69,6 +69,17 @@
_a.c_cc[VMIN]=1;_a.c_cc[VTIME]=1;_a.c_lflag &= ~(ICANON|ECHO|ECHOE|ECHOK|ECHONL)
#define unraw(_a) _a.c_cc[VMIN]=saveeof;_a.c_cc[VTIME]=saveeol;_a.c_lflag |= ICANON|ECHO|ECHOE|ECHOK|ECHONL
+#elif POSIX
+#include <termios.h>
+#define sgttyb termios
+#define gtty(_a,_b) tcgetattr(_a,_b)
+#define stty(_a,_b) tcsetattr(_a,TCSANOW,_b)
+static int rawflg = 0;
+static char saveeof,saveeol;
+#define doraw(_a) if(!rawflg){++rawflg;saveeof=_a.c_cc[VMIN];saveeol=_a.c_cc[VTIME];}\
+ _a.c_cc[VMIN]=1;_a.c_cc[VTIME]=1;_a.c_lflag &= ~(ICANON|ECHO|ECHOE|ECHOK|ECHONL)
+#define unraw(_a) _a.c_cc[VMIN]=saveeof;_a.c_cc[VTIME]=saveeol;_a.c_lflag |= ICANON|ECHO|ECHOE|ECHOK|ECHONL
+
#else /* not SYSV */
#ifndef BSD
@@ -345,7 +356,7 @@
}
/*
- * long lrint() Read one integer from input buffer
+ * long lrint_x() Read one integer from input buffer
*
* +---------+---------+---------+---------+
* | high | | | low |
@@ -357,7 +368,7 @@
* The save order is low order first, to high order (4 bytes total)
* Returns the int read
*/
-long lrint()
+long lrint_x()
{
unsigned long i;
i = 255 & lgetc(); i |= (255 & lgetc()) << 8;

View file

@ -0,0 +1,175 @@
Index: index
===================================================================
RCS file: /ncvs/src/games/quiz/datfiles/index,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 index
--- quiz/datfiles/index 4 Sep 1994 04:03:09 -0000 1.1.1.1
+++ quiz/datfiles/index 20 Sep 2002 23:49:50 -0000
@@ -21,7 +21,7 @@
/usr/local/local/share/games/quiz.db/murders:victim:killer
/usr/local/local/share/games/quiz.db/poetry:poem{-}line:next:poem:author
/usr/local/local/share/games/quiz.db/posneg:pos{itive}:neg{ative}
-/usr/local/local/share/games/quiz.db/pres:pres{ident}:term:succ{essor}
+/usr/local/local/share/games/quiz.db/pres:pres{ident}:term:vice:succ{essor}
/usr/local/local/share/games/quiz.db/province:province:cap{ital}
/usr/local/local/share/games/quiz.db/seq-easy:easy{-}{seq{uence}}:next:name
/usr/local/local/share/games/quiz.db/seq-hard:hard{-}{seq{uence}}:next:name
Index: pres
===================================================================
RCS file: /ncvs/src/games/quiz/datfiles/pres,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 pres
--- quiz/datfiles/pres 4 Sep 1994 04:03:10 -0000 1.1.1.1
+++ quiz/datfiles/pres 20 Sep 2002 23:38:18 -0000
@@ -1,38 +1,83 @@
-{G{eorge} }Washington:1789-{17}97:{J{ohn} }Adams
-{J{ohn} }Adams:1797-1801:{T{homas} }Jefferson
-{T{homas} }Jefferson:1801-{{18}0}9:{J{ames} }Madison
-{J{ames} }Madison:1809-{18}17:{J{ames} }Monroe
-{J{ames} }Monroe:1817-1825:{J{ohn} }{Q{uincy} }Adams
-{J{ohn} }{Q{uincy} }Adams:1825-{{18}2}9:{A{ndrew} }Jackson
-{A{ndrew} }Jackson:1829-{18}37:{M{artin} }Van Buren
-{M{artin} }Van Buren:1837-{18}41:{W{illiam|m} }{H{enry} }Harrison
-{W{illiam|m} }{H{enry} }Harrison:1841:{J{ohn} }Tyler
-{J{ohn} }Tyler:1841-{{18}4}5:{J{ames} }{K{nox} }Polk
-{J{ames} }{K{nox} }Polk:1845-{{18}4}9:{Z{achary} }Taylor
-{Z{achary} }Taylor:1849-{18}50:{M{illard} }Fillmore
-{M{illard} }Fillmore:1850-{{18}5}3:{F{ranklin} }Pierce
-{F{ranklin} }Pierce:1853-{{18}5}7:{J{ames} }Buchanan
-{J{ames} }Buchanan:1857-{18}61:{A{braham|be} }Lincoln
-{A{braham|be} }Lincoln:1861-{{18}6}5:{A{ndrew} }Johnson
-{A{ndrew} }Johnson:1865-{{18}6}9:{U{lysses} }{S{impson} }Grant
-{U{lysses} }{S{impson} }Grant:1869-{18}77:{R{utherford} }{B{irchard} }Hayes
-{R{utherford} }{B{irchard} }Hayes:1877-{18}81:{J{ames} }{A{bram} }Garfield
-{J{ames} }{A{bram} }Garfield:1881:{C{hester} }{A{lan} }Arthur
-{C{hester} }{A{lan} }Arthur:1881-{{18}8}5:{G{rover} }Cleveland{ (1st term)}
-{G{rover} }Cleveland{ (1st term)}:1885-{{18}8}9:{B{enjamin} }Harrison
-{B{enjamin} }Harrison:1889-{18}93:{G{rover} }Cleveland{ (2nd term)}
-{G{rover} }Cleveland{ (2nd term)}:1893-{18}97:{W{illiam|m} }McKinley
-{W{illiam|m} }McKinley:1897-1901:{T{heodore|eddy} }Roosevelt|TR
-{T{heodore|eddy} }Roosevelt|TR:1901-{{19}0}9:{W{illiam|m} }{H{oward} }Taft
-{W{illiam|m} }{H{oward} }Taft:1909-{19}13:{W{oodrow} }Wilson
-{W{oodrow} }Wilson:1913-{19}21:{W{arren} }{G{amaliel} }Harding
-{W{arren} }{G{amaliel} }Harding:1921-{{19}2}3:{C{alvin} }Coolidge
-{C{alvin} }Coolidge:1923-{{19}2}9:{H{erbert} }Hoover
-{H{erbert} }Hoover:1929-{19}33:{F{ranklin} }{D{elano} }Roosevelt|FDR
-{F{ranklin} }{D{elano} }Roosevelt|FDR:1933-{19}45:{H{arry} }{S }Truman
-{H{arry} }{S }Truman:1945-{19}53:{D{wight} }{D{avid} }Eisenhower
-{D{wight} }{D{avid} }Eisenhower:1953-{19}61:{J{ohn} }{F{itzgerald} }Kennedy|JFK
-{J{ohn} }{F{itzgerald} }Kennedy|JFK:1961-{{19}6}3:{L{yndon} }{B{aines} }Johnson|LBJ
-{L{yndon} }{B{aines} }Johnson|LBJ:1963-{{19}6}9:{R{ichard} }{M{ilhouse} }Nixon
-{R{ichard} }{M{ilhouse} }Nixon:1969-{19}74:{G{erald} }{R{obert} }Ford
-{G{erald} }{R{obert} }Ford:1974-:
+{G{eorge} }Washington:1789-{17}97:{J{ohn} }Adams:{J{ohn} }Adams
+{J{ohn} }Adams:1797-1801:{T{homas} }Jefferson:{T{homas} }Jefferson
+{T{homas} }Jefferson:1801-{{18}0}9:{A{aron} }Burr|{G{eorge} }Clinton:\
+{J{ames} }Madison
+{J{ames} }Madison:1809-{18}17:{G{eorge} }Clinton|{E{lbridge} }Gerry:\
+{J{ames} }Monroe
+{J{ames} }Monroe:1817-1825:\
+{D{aniel} }{D{.} }Tompkins:{J{ohn} }{Q{uincy} }Adams
+{J{ohn} }{Q{uincy} }Adams:1825-{{18}2}9:{J{ohn} }{C{aldwell} }Calhoun:\
+{A{ndrew} }Jackson
+{A{ndrew} }Jackson:1829-{18}37:\
+{J{ohn} }{C{aldwell} }Calhoun|{M{artin} }Van Buren:{M{artin} }Van Buren
+{M{artin} }Van Buren:1837-{18}41:\
+{R{ichard} }{M{entor} }Johnson:{W{illiam|m} }{H{enry} }Harrison
+{W{illiam|m} }{H{enry} }Harrison:1841:{J{ohn} }Tyler:{J{ohn} }Tyler
+{J{ohn} }Tyler:1841-{{18}4}5:[N|n]one{ (1841-5)}:{J{ames} }{K{nox} }Polk
+{J{ames} }{K{nox} }Polk:1845-{{18}4}9:\
+{G{eorge} }{M{ifflin} }Dallas:{Z{achary} }Taylor
+{Z{achary} }Taylor:1849-{18}50:{M{illard} }Fillmore:{M{illard} }Fillmore
+{M{illard} }Fillmore:1850-{{18}5}3:[N|n]one{ (1850-3)}:{F{ranklin} }Pierce
+{F{ranklin} }Pierce:1853-{{18}5}7:\
+{W{illiam|m} }{R{ufus} }{de Vane }King:{J{ames} }Buchanan
+{J{ames} }Buchanan:1857-{18}61:\
+{J{ohn} }{C{abell} }Breckinridge:{A{braham|be} }Lincoln
+{A{braham|be} }Lincoln:1861-{{18}6}5:\
+{H{annibal} }Hamlin|{A{ndrew} }Johnson:{A{ndrew} }Johnson
+{A{ndrew} }Johnson:1865-{{18}6}9:[N|n]one{ (1865-9)}:\
+{U{lysses} }{S{impson} }Grant
+{U{lysses} }{S{impson} }Grant:1869-{18}77:\
+{S{chuyler} }Colfax|{H{enry} }Wilson:{R{utherford} }{B{irchard} }Hayes
+{R{utherford} }{B{irchard} }Hayes:1877-{18}81:\
+{W{illiam|m} }{A{lmon} }Wheeler:{J{ames} }{A{bram} }Garfield
+{J{ames} }{A{bram} }Garfield:1881:\
+{C{hester} }{A{lan} }Arthur:{C{hester} }{A{lan} }Arthur
+{C{hester} }{A{lan} }Arthur:1881-{{18}8}5:[N|n]one{ (1881-5)}:\
+{G{rover} }Cleveland{ (1st term)}
+{G{rover} }Cleveland{ (1st term)}:1885-{{18}8}9:\
+{T{homas} }{A{ndrews} }Hendricks:{B{enjamin} }Harrison
+{B{enjamin} }Harrison:1889-{18}93:\
+{L{evi} }{P{arsons} }Morton:{G{rover} }Cleveland{ (2nd term)}
+{G{rover} }Cleveland{ (2nd term)}:1893-{18}97:\
+{A{dlai} }{E{wing} }Stevenson:{W{illiam|m} }McKinley
+{W{illiam|m} }McKinley:1897-1901:\
+{G{arret} }{A{ugustus} }Hobart|{T{heodore|eddy} }Roosevelt|TR:\
+{T{heodore|eddy} }Roosevelt|TR
+{T{heodore|eddy} }Roosevelt|TR:1901-{{19}0}9:\
+{C{harles} }{W{arren} }Fairbanks:{W{illiam|m} }{H{oward} }Taft
+{W{illiam|m} }{H{oward} }Taft:1909-{19}13:\
+{J{ames} }{S{choolcraft} }Sherman:{W{oodrow} }Wilson
+{W{oodrow} }Wilson:1913-{19}21:\
+{T{homas} }{R{iley} }Marshall:{W{arren} }{G{amaliel} }Harding
+{W{arren} }{G{amaliel} }Harding:1921-{{19}2}3:{C{alvin} }Coolidge:\
+{C{alvin} }Coolidge
+{C{alvin} }Coolidge:1923-{{19}2}9:\
+{C{harles} }{G{ates} }Dawes:{H{erbert} }{C{lark} }Hoover
+{H{erbert} }{C{lark} }Hoover:1929-{19}33:\
+{C{harles} }Curtis:{F{ranklin} }{D{elano} }Roosevelt|FDR
+{F{ranklin} }{D{elano} }Roosevelt|FDR:1933-{19}45:\
+{J{ohn} }{N{ance} }Garner|{H{enry} }{A{gard} }Wallace|{H{arry} }{S }Truman:\
+{H{arry} }{S }Truman
+{H{arry} }{S }Truman:1945-{19}53:\
+{A{lben} }{W{illiam} }Barkley:{D{wight} }{D{avid} }Eisenhower
+{D{wight} }{D{avid} }Eisenhower:1953-{19}61:\
+{R{ichard} }{M{ilhous} }Nixon:{J{ohn} }{F{itzgerald} }Kennedy|JFK
+{J{ohn} }{F{itzgerald} }Kennedy|JFK:1961-{{19}6}3:\
+{L{yndon} }{B{aines} }Johnson|LBJ:{L{yndon} }{B{aines} }Johnson|LBJ
+{L{yndon} }{B{aines} }Johnson|LBJ:1963-{{19}6}9:\
+{H{ubert} }{H{oratio} }Humphrey:{R{ichard} }{M{ilhous} }Nixon
+{R{ichard} }{M{ilhous} }Nixon:1969-{19}74:\
+{S{piro} }{T{heodore} }Agnew|{G{erald} }{R{udolph} }Ford:\
+{G{erald} }{R{udolph} }Ford
+{G{erald} }{R{udolph} }Ford:1974-{{19}7}7:\
+{N{elson} }{A{ldrich} }Rockefeller:{J{ames} }{E{arl} }Carter{{,} J{unio}r}
+{J{ames} }{E{arl} }Carter{{,} J{unio}r}:1977-{19}81:\
+{W{alter} }{F{rederick} }Mondale:{R{onald} }{W{ilson} }Reagan
+{R{onald} }{W{ilson} }Reagan:1981-{{19}8}9:\
+{G{eorge} }{H{erbert} }{W{alker} }Bush:{G{eorge} }{H{erbert} }{W{alker} }Bush
+{G{eorge} }{H{erbert} }{W{alker} }Bush:1989-{19}93:\
+{J{ames} }{D{anforth|an} }Quayle:{W{illiam|m} }{J{efferson} }Clinton
+{W{illiam|m} }{J{efferson} }Clinton:1993-2001:\
+{A{lbert} }{A{rnold} }Gore{{,} J{unio}r}:{G{eorge} }{W{alker} }Bush{{,} J{unio}r}
+{G{eorge} }{W{alker} }Bush{{,} J{unio}r}:2001-:\
+{R{ichard} }{B{ruce} }Cheney:
--- quiz/datfiles/pres Sat Sep 21 01:38:18 2002
+++ quiz/datfiles/pres.new Sat Sep 21 20:55:47 2002
@@ -70,14 +70,17 @@
{S{piro} }{T{heodore} }Agnew|{G{erald} }{R{udolph} }Ford:\
{G{erald} }{R{udolph} }Ford
{G{erald} }{R{udolph} }Ford:1974-{{19}7}7:\
-{N{elson} }{A{ldrich} }Rockefeller:{J{ames} }{E{arl} }Carter{{,} J{unio}r}
-{J{ames} }{E{arl} }Carter{{,} J{unio}r}:1977-{19}81:\
+{N{elson} }{A{ldrich} }Rockefeller:\
+{J{ames} }{E{arl} }{(Jimmy) }Carter{{,} J{unio}r}|Jimmy Carter
+{J{ames} }{E{arl} }{(Jimmy) }Carter{{,} J{unio}r}|Jimmy Carter:1977-{19}81:\
{W{alter} }{F{rederick} }Mondale:{R{onald} }{W{ilson} }Reagan
{R{onald} }{W{ilson} }Reagan:1981-{{19}8}9:\
{G{eorge} }{H{erbert} }{W{alker} }Bush:{G{eorge} }{H{erbert} }{W{alker} }Bush
{G{eorge} }{H{erbert} }{W{alker} }Bush:1989-{19}93:\
-{J{ames} }{D{anforth|an} }Quayle:{W{illiam|m} }{J{efferson} }Clinton
-{W{illiam|m} }{J{efferson} }Clinton:1993-2001:\
-{A{lbert} }{A{rnold} }Gore{{,} J{unio}r}:{G{eorge} }{W{alker} }Bush{{,} J{unio}r}
+{J{ames} }{D{anforth|an} }Quayle:\
+{W{illiam|m} }{J{efferson} }{(Bill) }Clinton|Bill Clinton
+{W{illiam|m} }{J{efferson} }{(Bill) }Clinton|Bill Clinton:1993-2001:\
+{A{l{bert}} }{A{rnold} }Gore{{,} J{unio}r}:\
+{G{eorge} }{W{alker} }Bush{{,} J{unio}r}
{G{eorge} }{W{alker} }Bush{{,} J{unio}r}:2001-:\
-{R{ichard} }{B{ruce} }Cheney:
+{R{ichard} }{B{ruce} }{(Dick) }Cheney|Dick Cheney:

View file

@ -0,0 +1,11 @@
--- rogue/Makefile.orig Sun May 27 21:36:53 2007
+++ rogue/Makefile Sun May 27 21:40:48 2007
@@ -2,7 +2,7 @@
# $FreeBSD$
PROG= rogue
-CFLAGS+=-DUNIX -fwritable-strings
+CFLAGS+=-DUNIX
SRCS= hit.c init.c inventory.c level.c machdep.c main.c \
message.c monster.c move.c object.c pack.c play.c random.c ring.c \
room.c save.c score.c spec_hit.c throw.c trap.c use.c zap.c

View file

@ -0,0 +1,24 @@
Index: snake/snake/move.c
@@ -677,10 +674,10 @@
gtty(0, &orig);
new=orig;
- new.sg_flags &= ~(ECHO|CRMOD|ALLDELAY|XTABS);
- new.sg_flags |= CBREAK;
+ new.c_lflag &= ~(ECHO|ICRNL|OXTABS);
+ new.c_lflag &= ~ICANON;
signal(SIGINT,stop);
- ospeed = orig.sg_ospeed;
+ ospeed = cfgetospeed(&orig);
#ifdef TIOCGLTC
ioctl(0, TIOCGLTC, &olttyc);
nlttyc = olttyc;
@@ -689,7 +686,7 @@
#endif
raw();
- if ((orig.sg_flags & XTABS) == XTABS) TA=0;
+ if ((orig.c_lflag & OXTABS) == OXTABS) TA=0;
putpad(KS);
putpad(TI);
point(&cursor,0,LINES-1);

View file

@ -0,0 +1,10 @@
Index: snake/snake/snake.c
@@ -183,7 +181,7 @@
snrand(&money);
snrand(&snake[0]);
- if ((orig.sg_ospeed < B9600) ||
+ if ((cfgetospeed(&orig) < B9600) ||
((! CM) && (! TA))) fast=0;
for(i=1;i<6;i++)
chase (&snake[i], &snake[i-1]);

View file

@ -0,0 +1,25 @@
Index: snake/snake/snake.h
@@ -38,10 +38,13 @@
# include <stdio.h>
# include <assert.h>
# include <sys/types.h>
-# include <sgtty.h>
+# include <termios.h>
# include <signal.h>
# include <math.h>
+#define gtty(_a,_b) tcgetattr(_a,_b)
+#define stty(_a,_b) tcsetattr(_a,TCSANOW,_b)
+
#define ESC '\033'
struct tbuffer {
@@ -72,7 +75,7 @@
int col, line;
};
struct point cursor;
-struct sgttyb orig, new;
+struct termios orig, new;
#ifdef TIOCLGET
struct ltchars olttyc, nlttyc;
#endif

View file

@ -0,0 +1,33 @@
Index: trek/main.c
@@ -47,10 +47,12 @@
# include "trek.h"
# include <stdio.h>
-# include <sgtty.h>
+# include <termios.h>
# include <setjmp.h>
# include <stdlib.h>
+# define gtty(_a,_b) tcgetattr(_a,_b)
+
# define PRIO 00 /* default priority */
int Mother = 51 + (51 << 8);
@@ -163,7 +165,7 @@
int prio;
int ac;
char **av;
- struct sgttyb argp;
+ struct termios argp;
/* revoke */
setgid(getgid());
@@ -176,7 +178,7 @@
prio = PRIO;
if (gtty(1, &argp) == 0)
{
- if ((argp.sg_ispeed ) < B1200)
+ if ((cfgetispeed(&argp)) < B1200)
Etc.fast++;
}
while (ac > 1 && av[0][0] == '-')

View file

@ -0,0 +1,6 @@
This is a port of the FreeBSD "standard" games as they were just
before they were removed from the base system.
This source was formerly a part of the FreeBSD base system, and this
package is based on the final version of that source code, so it
includes all previous FreeBSD customizations.

View file

@ -0,0 +1,108 @@
@comment $FreeBSD$
bin/adventure
bin/arithmetic
bin/atc
bin/backgammon
bin/teachgammon
bin/battlestar
bin/bs
bin/canfield
bin/cfscores
bin/cribbage
bin/fish
bin/hack
bin/hangman
bin/larn
bin/mille
bin/phantasia
bin/piano
bin/pig
bin/quiz
bin/robots
bin/rogue
bin/sail
bin/snake
bin/snscore
bin/trek
bin/worm
bin/wump
share/games/atc/Game_List
share/games/atc/Killer
share/games/atc/crossover
share/games/atc/default
share/games/atc/easy
share/games/atc/game_2
@dirrm share/games/atc
share/games/larn/larnmaze
share/games/larn/larnopts
share/games/larn/larn.help
@dirrm share/games/larn
share/games/quiz.db/africa
share/games/quiz.db/america
share/games/quiz.db/areas
share/games/quiz.db/arith
share/games/quiz.db/asia
share/games/quiz.db/babies
share/games/quiz.db/bard
share/games/quiz.db/chinese
share/games/quiz.db/collectives
share/games/quiz.db/ed
share/games/quiz.db/elements
share/games/quiz.db/europe
share/games/quiz.db/flowers
share/games/quiz.db/greek
share/games/quiz.db/inca
share/games/quiz.db/index
share/games/quiz.db/latin
share/games/quiz.db/locomotive
share/games/quiz.db/midearth
share/games/quiz.db/morse
share/games/quiz.db/murders
share/games/quiz.db/poetry
share/games/quiz.db/posneg
share/games/quiz.db/pres
share/games/quiz.db/province
share/games/quiz.db/seq-easy
share/games/quiz.db/seq-hard
share/games/quiz.db/sexes
share/games/quiz.db/sov
share/games/quiz.db/spell
share/games/quiz.db/state
share/games/quiz.db/trek
share/games/quiz.db/ucc
@dirrm share/games/quiz.db
share/games/cribbage.instr
share/games/fish.instr
share/games/wump.info
@dirrm share/games
@cwd /var/games
@dirrm atc
@dirrm battlestar
hackdir/perm
hackdir/record
hackdir/rumors
hackdir/help
hackdir/hh
hackdir/data
@dirrm hackdir/save
@dirrm hackdir
larn/lscore12.0
larn/llog12.0
@dirrm larn
phantasia/characs
phantasia/gold
phantasia/lastdead
phantasia/mess
phantasia/monsters
phantasia/motd
phantasia/scoreboard
phantasia/void
@dirrm phantasia
battlestar.log
cfscores
criblog
robots_roll
rogue.scores
saillog
snakerawscores
snake.log