This is the README file for Angband 2.7.9 (v2) (1/7/96)

Angband 2.7.9v2 is a "bug-fix" version, fixing some bugs in Angband 2.7.9v1
(including the "Macintosh Save Bug", the "Throw SEGV Bug", the "Bash Air Bug",
and the "Destroy Traps Bug"), updating some of the on-line help files and some
of the visual modules, and making the game even faster on some machines.


=== General information ===

Angband is a "graphical" dungeon adventure game using textual characters
to represent the walls and floors of a dungeon and the inhabitants therein,
in the vein of "rogue", "hack", "nethack", and "moria".

There are extensive ascii "on line help" files in the "lib/help" directory.

This version of Angband will run on Macintosh, Windows, Unix (X11/Curses), 
Linux (X11/Curses), Acorn, Amiga, various IBM machines, and many others...

See Makefile, h-config.h, and config.h for details on compiling.
See "Makefile.xxx" and "main-xxx.c" for various supported systems.

Visit the Angband Home Page ("http://www.voicenet.com/~benh/angband.html"),
and browse through the Angband newsgroup ("rec.games.roguelike.angband").

Send bug reports, suggestions, etc, to Ben Harrison ("benh@voicenet.com").


=== Quick and dirty compilation instructions (for Unix) === 

Step 1: Acquire.  Ftp to "export.andrew.cmu.edu:/angband/Source"
                  Try "bin" and "mget angband*.tar.gz" and "y"
Step 2: Extract.  Try "gunzip *.gz" then "tar -xvf *.tar"
Step 3: Prepare.  Try "cd angband*/src", then edit "Makefile"
                  You may also edit "h-config.h" and "config.h"
Step 4: Compile.  Try "make", and then "cd .." if successful
Step 5: Execute.  Try "angband -uTest" to initialize stuff
Step 6: Play....  Read the "online help" via the "?" command.


=== Special instructions for other systems ===

The IBM requires extraction with "pkunzip -d" to create subdirectories.

The Macintosh requires that the "lib" folder be in the same folder as
the executable.  Also, note that System 7.5 (and perhaps others) are
brain damaged, and may default to the incorrect folder for opening
savefiles.  Make sure you keep all your savefiles in the proper place,
and if you load a savefile from the wrong place, note that the game
may decide to re-save your savefile in the proper place when you quit.


=== Upgrading from older versions or other platforms ===

If you have been playing Angband on a different platform, or with an older
version of Angband, it may be possible to "upgrade" to Angband 2.7.9, keeping
your old savefiles, high score list, and other files, instead of starting over.

Angband 2.7.9 uses a platform independant file format for the binary files
that store information about games in progress, known as "savefiles".  Also,
Angband 2.7.9 is able to translate savefiles from any version of Angband from
Angband 2.5.1 on.  Unfortunately, pre-2.5.1 savefiles are not usable, since
they used a system specific savefile format, and did not have an official
definition, and sometimes include assumptions that are no longer valid.  To
use an old savefile, simply copy it into the "lib/save" directory, changing
the name of the savefile (if necessary) to satisfy the requirements of the
platform you are using.  In general, the savefile should be named "UUU.NNN"
or "NNN" where "UUU" is the userid of the player (on "multiuser" systems),
and "NNN" is the name of the "character" in the savefile.  Note that only
"multiuser" platforms use the "UUU.NNN" form, and the "period" is required.

Angband 2.7.9 uses a platform independant (?) file format for the binary
file used to store the high score list.  This file may be moved between
platforms (if needed) or copied from older versions (Angband 2.7.? or later).
Angband 2.7.9 uses a high score file called "scores.raw", which is kept in
the "lib/apex" directory.  Older versions kept the "scores.raw" file in the
"lib/data" directory, along with several other version specific files.

Angband 2.7.9 uses a platform independant file format for the ascii files
used to store information about dead players, which is used to help create
"player ghosts" in the dungeon.  If necessary, these files, which are kept
in the "lib/bone" directory, may be copied from older versions, as long as
you make sure that they are renamed as "bone.XXX" where XXX is the level on
which the dead player died, and that every line in the file is "complete".
It is also possible to delete the contents of the "lib/bone" directory at
any time, which will prevent the creation of player ghosts.

Angband 2.7.9 uses a set of ascii "configuration files" which are kept in the
"lib/file" directory (see below).  Certain of these files may be taken from
older versions, though most are optional for the most common configurations.

Angband 2.7.9 uses a set of ascii "user pref files" which are kept in the
"lib/user" directory.  Some of these files are usable on multiple platforms,
but in general they are restricted to a single platform.  In general, "pref"
files from older versions may be used with Angband 2.7.9, by moving them to
the "lib/user" directory from the old "lib/pref" or "lib/pref-*" directories,
but note that some important changes have been made in Angband 2.7.9, and, for
example, old "pref" files which change the "attr/char" definitions of "terrain"
features such as walls or doors must be changed to use the new methods.  Make
sure to put comments in your "user pref files" describing the purpose and the
proper platform for your files, to facilitate future upgrades.


=== Directory "src" ===

The "src" directory contains the complete set of source files.

The "main-???.c" and "Makefile.???" allow compilation on various systems.

Some of these systems (Macintosh, Windows) require "extra" files, most of
which are located elsewhere (except for the "A-mac-h.*" Macintosh files).


=== Directory "lib" ===

The "lib" directory contains all of Angband's special sub-directories.


=== Directory "lib/apex" ===

The "lib/apex" directory contains the "high score" files.

The "scores.raw" file contains the "high score" table, in a "semi-binary" form,
that is, all the bytes in the file are normal ascii values, but this includes
the special "nul" or "zero" byte, which is used to separate and pad records.
You should probably not attempt to modify this file with a normal text editor.
This file should be (more or less) portable between different platforms.  It
must be present (or creatable) for the game to run correctly.


=== Directory "lib/bone" ===

The "lib/bone" directory contains special "player ghost" template files.

The files in this directory have filenames of the form "bone.NNN" where
"NNN" is the level on which the player died.  They contain information
about the dead player, currently, one line each for the player name,
maximum hitpoints, race, and class.  These files are probably portable,
and are probably compatible with older bone files, if those files are
renamed, and a final newline is added for compatibility.


=== Directory "lib/data" ===

The "lib/data" directory contains various special binary data files.

The files 'k_info.raw', 'a_info.raw', 'e_info.raw', and 'r_info.raw',
are binary image files constructed by parsing the ascii template files
in "lib/edit", described below.  These files are required, but can be
created by the game if the "lib/edit" directory contains the proper
files, and if the game was compiled to allow this creation.


=== Directory "lib/edit" ===

The "lib/edit" directory contains various special ascii data files.

The files 'k_info.txt', 'a_info.txt', 'e_info.txt', and 'r_info.txt',
are ascii template files used to construct the binary image files
in "lib/data", described below.  These files describe the "object kind",
"artifact", "ego-item", and "monster race" information, respectively.

The ascii template files are easier to edit than hard-coded arrays, and also
prevent compilation errors on some machines, and also shrink the size of the
binary executable, and also provide a user-readible spoiler file of sorts.

These files are optional if the game is distributed with pre-created
binary raw files in "lib/data".


=== Directory "lib/file" ===

The "lib/file" directory contains various special ascii data files.

The 'news.txt' file is displayed to the user when the game starts up.  It
contains basic information such as my name and email address, and the names
of some of the people who have been responsible for previous versions of
Angband.  You may edit this file (slightly) to include local "site specific"
information such as who compiled the local executable.  You should refer the
user to a special "online help" file, if necessary, that describes any local
modifications in detail.  Angband only reads the first 20 lines of this file.

The optional file 'wizards.txt' may be used to specify which users may enter
'wizard' mode.  A missing file provides no restrictions, and an empty file
prevents everyone from entering 'wizard' mode.  This file is only used on
multi-user machines, otherwise there are no restrictions.

The optional file 'time.txt' may be used to restrict the "times" at which
the game may be played, by providing specification of which hours of each day
of the week are legal for playing the game.  See 'files.c' for more details.
A missing file provides no restrictions, and an empty file will, by default,
forbid the playing of the game from 8am-5pm on weekdays.  This file is only
used on multi-user machines, and only if CHECK_TIME is defined, otherwise,
there are no restrictions.

The optional file 'load.txt' may be used to restrict the "load" which the game
may impose on the system.  See 'files.c' for more details.  A missing file
provides no restrictions, and an empty file will, by default, restrict the
"current load" to a maximal value of 100*FSCALE.  This file is only used on
multi-user machines, and only if CHECK_LOAD is defined, otherwise, there are
no restrictions.


=== Directory "lib/help" ===

The "lib/help" directory contains the "online help" files.

This directory is used to search for normal "on line help" files.


=== Directory "lib/info" ===

The "lib/info" directory (optional) contains the "spoiler" files.

This directory is used to search for any "on line help" file that cannot
be found in the "lib/help" directory.

The user may "redirect" this directory to point at any available directory.

Note that the default "help.hlp" file allows the "9" key to access a help
file called "spoiler.hlp", and allows the "0" key to access "user.hlp".

These special help files can thus be placed in the user's own "info"
directory to allow the on line help to access his files.


=== Directory "lib/save" ===

The "lib/save" directory contains "savefiles" for the players.

Each savefile is named "NNN" where "NNN" is the name of the savefile, or,
on some machines, the name of the character, or, on multi-user machines,
"UUU.NNN", where "UUU" is the player uid and "NNN" is the savefile name.

The savefiles should be portable between systems, assuming that the
appropriate renaming is perfomed, and any file "type" information is
specified (for the Macintosh).


=== Directory "lib/user" ===

The "lib/user" directory contains the "user pref files", if any.

In general, these files are used to "customize" aspects of the game for
a given site or a given player.  These files can define "macros" (which
allow a single keypress to perform a complex action), set options (which
affect how the game will handle various situations), and specify visual
mappings for various monsters, objects, or terrain features.

See "files.c" for more information on the proper "format" of these files.


=== Directory "lib/xtra" ===

The "lib/xtra" directory contains special system files, if any.


--- Ben ---
