4c99916337
Make sure that each va_start has one and only one matching va_end, especially in error cases. If the va_list is used multiple times, do multiple va_starts/va_ends. If a function gets va_list as argument, don't let it use va_end (since it's the callers responsibility). Improved by comments from enami and christos -- thanks! Heimdal/krb4/KAME changes already fed back, rest to follow. Inspired by, but not not based on, OpenBSD. |
||
---|---|---|
.. | ||
datfiles | ||
bill.c | ||
config.c | ||
COPYRIGHT | ||
create.c | ||
data.c | ||
diag.c | ||
display.c | ||
extern.h | ||
Fixed.Bugs | ||
fortune.c | ||
global.c | ||
header.h | ||
help.c | ||
holidays | ||
io.c | ||
larn.6 | ||
main.c | ||
Makefile | ||
monster.c | ||
moreobj.c | ||
movem.c | ||
nap.c | ||
object.c | ||
OWNER | ||
pathnames.h | ||
README | ||
regen.c | ||
savelev.c | ||
scores.c | ||
signal.c | ||
store.c | ||
tok.c |
$NetBSD: README,v 1.2 1995/03/23 08:33:07 cgd Exp $ Larn is a dungeon type game program. Larn is a adventure/action game similar in concept to rogue or hack, but with a much different feel. Try it, you'll like it! You will have to edit the Makefile to reflect your configuration. Define LARNHOME as the place where the larn auxiliary files will reside, and BINDIR as the place where the larn executable should be placed. Type "make" to compile, or "make all" to compile and install ("make install" does just the install). Here's a list of what is in each of the various source files: Fixed.Bugs this is a list of the things that were changed since ver 11.0 Makefile makefile script to compile the program Make.lint makefile script to run larn sources through lint README this is what you are now reading bill.c code for the letters of praise if player wins config.c data definitions for the installation dependent data -- savefilenames, where the scorefiles are, etc. create.c code to create the dungeon and all objects data.c data definitions for the game -- no code here diag.c code to produce diagnostic data for wizards, & savegame stuff display.c code to update the display on the screen fortune.c code for the fortune cookies global.c code for globally used functions that are specific to larn header.h constant and structure definitions help.c code for the help screens in the game of larn .holidays data file which lists upcoming holidays io.c code to handle file and terminal i/o .larn.help.uue larn help file (UUENCODED) .larnmaze data file for pre-made mazes .larnopts a sample .larnopts option data file .lfortune data file which contains the hints main.c code for the main command control and parsing monster.c code to handle attack and defense modes with monsters moreobj.c code for the fountains, altars, thrones movem.c code to move the monsters around the dungeon nap.c code to sleep for less than a second object.c code to handle objects in the dungeon regen.c code to regenerate the player and advance game time savelev.c code to get/put a level from level storage into working level memory scores.c code to process and manage the scoreboard signal.c code to handle UNIX signals that are trapped store.c code for the larn thrift shoppe, bank, trading post, lrs tok.c code for the input front end and options file processing To find out how to play the game, run it and type in a '?' to get the help screens. By the way, the wizards password is "pvnert(x)" and to become wizard type in an underscore, you are then prompted for the password. Wizards are non-scoring characters that get enlightenment, everlasting expanded awareness, and one of every object in the game. They help the author to debug the game. Note regarding the wizard id: If you are using userid's, then WIZID must be set to the userid of the person who can become wizard. If you are using player id's, WIZID must be set to the playerid (edit file .playerids if needed) of the player who can become wizard. You may want to clear out the scoreboard. The command "larn -c" will make a new scoreboard. It will prompt you for the wizards password. BUGS & FIXES: James McNamara has volunteered to maintain the latest sources, and provide latest bug fixes to anyone who asks. Both James and I will field requests for sources, for those who ask. ___ Prince of Gems (alias Noah Morgan) /. \ USENET: panda!condor!noah \ / at GenRad Inc. Bolton MA \ / v Below is some additional info about the installation of larn: Install: Notes on the game LARN installation. Larn is copyrighted 1986 by Noah Morgan. This file (below) originally by James D. McNamara, last update 7/27/86 by nm THIS DISTRIBUTION: You should receive six (6) shar files, which are: larn.part-1 larn.part-2 larn.part-3 larn.part-4 larn.part-5 larn.part-6 I. Use /bin/sh (or your system equivalent) to "unravel" shar files larn.part-1, ..., larn.part-6. I suggest you do this directly into $LARNHOME (See Section III.). Notable files: README - The author's how-to. MANIFEST - Files you should have. III. Edit a copy of "Makefile" and leave the edited version in $LARNHOME. All the "configuration" options are tidily near the top of the "Makefile." Here are the ones you probably will want to edit: LARNHOME I specified (literally) the directory, with path from root, where "larn" will reside. This included where I put the *.c files, it is where the *.o files ended up, as well as all data and *.h files. i suspect the *.c and intallation-documentation files can be moved off, but the data and bits must all remain here for execution. BINDIR I specified (literally) the directory, with path from root, where the executable "larn" will reside. The "Makefile" will dump the "a.out", named "larn", in this directory. My BINDIR was not my LARNHOME, so $BINDIR/larn was the ONLY file dumed here. You'll probably have to chmod it for public execute, etc. OPTIONS This is how *I* specified them... they are documented in-line: OPTIONS = -DWIZZARD -DWIZID=157 -DEXTRA -DBSD -DSAVEINHOME IV. Compile the bugger. Read "README" before you do. You have a couple of options here: make - will not install, suspect good for updates. make all - compile (and) intall make install - just install I did "make" and then "make install" -- seems to work "ok", but "make all" probably safer, if I had known. Note that "Makefile" is the default file for "make." V. Execute and have fun. If wizard code "ok", larn -c will refresh the scoreboard. Play and win (or get killed) to put somebody on the scoreboard. VI. BUGS and FIXES. Please forward any bug-fixes in these regards to me (or Noah), so I may compile a fix-list for other installers. Thanks. Regards, =============================================================================== James D. McNamara CSNET: jim@bu-cs ARPANET: jim%bu-cs@csnet-relay UUCP: ...harvard!bu-cs!jim BITNET: jim%bu-cs%csnet-relay.arpa@wiscvm ===============================================================================