aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README101
1 files changed, 101 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..4b7980a
--- /dev/null
+++ b/README
@@ -0,0 +1,101 @@
+bsd-games-extra - more games ported from *BSD.
+
+This package is meant to have all the games from BSD that are missing
+from Slackware's bsd-games. These are:
+
+boggle
+bs
+cgram
+ching
+colorbars
+dab
+dm
+grdc
+hack
+hals_end
+larn
+paranoia
+rogue
+tetris
+
+boggle, dm, and tetris are included in the Linux bsd-games-2.13 source
+but are not built by Slackware's bsd-games.SlackBuild.
+
+hack, larn, paranoia, and rogue were removed from the Linux port of
+bsd-games for license reasons.
+
+The others were never included in the Linux bsd-games source.
+
+Sources:
+
+bs, grdc, hack from DragonFlyBSD git:
+http://gitweb.dragonflybsd.org/dragonfly.git/tree/v4.0.3:/games
+
+boggle cgram ching colorbars dab dm hals_end larn rogue tetris are
+from NetBSD:
+http://ftp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/src/games.tar.gz
+
+paranoia isn't actually a BSD game (it came from a magazine), but
+it used to be distributed with bsd-games-1.3. I grabbed a copy here:
+http://web.mit.edu/games/src/bsd-games/paranoia/
+
+Building:
+
+You need GNU make and the Slackware pmake package (which is an old and
+unmaintained port of Berkeley make). Run "make" in the top-level dir,
+which will run pmake for each subdir. "make install" will install
+everything, "make install DESTDIR=/somewhere" is useful for packagers.
+
+If you're not on Slackware, you probably will need MANDIR=/usr/share/man
+on the make command line. Also, if your Berkeley make is called bmake,
+say PMAKE=bmake (good luck).
+
+License:
+
+This README and the top-level Makefile are released under the WTFPL,
+so do WTF you want with them. include/bsdcompat.h is mostly copied from
+either libbsd's headers, or NetBSD source. The games are mostly licensed
+with BSD licenses (big surprise there), but see the games themselves
+for license details (comments in the source, mostly).
+
+Notes:
+
+I made no gameplay changes, and only two cosmetic changes:
+
+- larn was missing the player's @ symbol. In the ancient versions
+ of larn (posted to usenet, ported to DOS, Atari ST, etc), the @
+ was there, like most roguelike games use. The code that printed the @
+ started causing a segfault on UNIX at some point, so someone removed it,
+ and just let the terminal's cursor indicate the player's position. I
+ put the @ back and fixed the segfaulting bug because this is how
+ the game's original author intended it to be.
+
+- tetris was using black as a color, for the borders and for one of
+ the pieces. This is no good in the Linux console, or default
+ settings for Konsole or xfce4-terminal, since those all have black
+ backgrounds. xterm and rxvt still default to white, but I'm assuming
+ anyone old-school enough to use xterm or rxvt for playing Tetris is
+ going to already know how to change the bg color.
+
+I took a different approach than the bsd-games package uses. Instead of
+rewriting the Makefiles from scratch for GNU make, or using autotools,
+I used the BSD Makefiles, with as few modifications as I could get
+away with. You can grep for my initials (bkw) to find my changes to the
+Makefiles and sources.
+
+Functions like strlcpy() are from libbsd, but trying to #include anything
+from /usr/include/bsd just led to breakage, so the neccessary BSD-flavored
+macros and prototypes are in include/bsdcompat.h.
+
+For the most part, I stuck with NetBSD sources, where available. The games
+ported from DragonFlyBSD mostly don't exist in NetBSD (the exception being
+hack; the NetBSD version was giving me fits so I used the DragonFlyBSD
+one instead).
+
+A few of these are installed setgid games. YMMV on whether that's an
+acceptable security risk, but they were designed to work that way.
+
+If you're not familiar with BSD-style nroff documentation, it might
+help to know how to read the rogue manual:
+
+nroff -me /usr/doc/bsd-games-extra-20150209/rogue.me | less -R