home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / hack / 3_1_3 / sys / amiga / install.ami < prev    next >
Encoding:
Text File  |  1993-07-11  |  19.1 KB  |  415 lines

  1.  
  2.       Using, Compiling, and Installing Amiga NetHack 3.1
  3.       (or Everything You Never Wanted to Know Before NetHacking)
  4.  
  5.          Last Revision: 18 June 1993 for NetHack 3.1.3
  6.  
  7.  
  8. 0. Pre-intro for NetHack 3.1.3.
  9.    New for 3.1.3:
  10.      Updated this file: new binary release organization and missing options.
  11.      Fixed PAL screen calculation error.
  12.      Improved font characters for walls, floor, wands, doors, and swallowed.
  13.      Support for individual icons per character type.
  14.    New for 3.1.2:
  15.      Addition of asksavedisk option to eliminate need for savedir;n syntax
  16.      Scrolling message window if screen is tall enough.
  17.      Consolidation of defaults and config information into one in HackWB.
  18.      All known fatal bugs dealing with the Amiga port have been fixed.
  19.      Preliminary tty mode - see below.
  20.      
  21.    We would like to thank each and every one of the people who took
  22.    the time and effort to report bugs to us.  THANK YOU!
  23.  
  24. I. Introduction
  25.  
  26. I.A. Overview
  27.     Welcome to Amiga NetHack!  If this is your first visit to our fair
  28.     city, you are in for an amazing and dangerous journey; if you have
  29.     visited us before, beware! the city has changed in many strange and
  30.     subtle ways; it has also grown quite a bit.  This missive brings to
  31.     light those mundane tasks which must be dealt with before beginning
  32.     your journey; for those of you who are faced with the task of
  33.     installing the pre-fabricated version of our town, section III
  34.     (Installing Amiga NetHack 3.1) will guide you through the task at
  35.     hand.  If you are ready to visit, the local visitors guide is in
  36.     section II (Using Amiga NetHack 3.1); please also see the general
  37.     guide packaged separately (the file GuideBook).  Finally, for those
  38.     brave souls among you who prefer to scratch-build your own models,
  39.     your guidance is in section IV (Compiling Amiga NetHack 3.1).
  40.     
  41.     To all our visitors, a hearty Welcome! - and please be careful.
  42.  
  43.     [Those responsible for the previous paragraphs have been sacked.  The
  44.     documentation has been completed at great expense in a more traditional
  45.     style. -- The Management]
  46.  
  47. I.B. Getting Help
  48.     If you have questions about strategy, weapons, or monsters, the best
  49.     place to go for help is the Usenet newsgroup rec.games.hack.  If you
  50.     have problems with installation or think you have found a bug in
  51.     the game, please report it by electronic mail to the development
  52.     group at nethack-bugs@linc.cis.upenn.edu, where it will be routed
  53.     to the appropriate person.  Include your configuration, the version of
  54.     NetHack you are playing, and as much specific information as possible.
  55.     As NetHack runs on many different machines, be sure to mention that
  56.     you are playing the Amiga version.  Finally, if you are having trouble
  57.     compiling NetHack, you may use the same address, or, for compiler
  58.     specific problems, send mail to:
  59.         Greg Olson (golson@sundown.sun.com) for Manx.
  60.         Richard Addison (addison@pollux.usc.edu) for SAS/C.
  61.     We do not currently have a contact for the DICE port.
  62.  
  63. I.C. Credits
  64.     Olaf Seibert first ported NetHack 2.3 and 3.0 to the Amiga.  Richard
  65.     Addison, Jochen Erwied, Mark Gooderum, Ken Lorber, Greg Olson, Mike
  66.     Passaretti, and Gregg Wonderly polished and extended the 3.0 and 3.1
  67.     ports.
  68.  
  69.  
  70. II. Using Amiga NetHack 3.1
  71.     The short version: from the WorkBench click on HackWB and from the
  72.     CLI invoke HackCli.
  73.  
  74. II.A. Sources of Information
  75.     Where to go depends on what you want to find out.  If you want to find
  76.     out about distributing NetHack, read the license (in NetHack:license or
  77.     type ?i during the game).  For an introduction to NetHack, read the
  78.     GuideBook file.  Finally, for information during the game on all kinds
  79.     of things, type ? and select from the menu.  Further information on
  80.     HackWB is below and available from HackWB - press the Help key; more
  81.     information on HackCli is in the NetHack ManPage.
  82.  
  83. II.B. The Amiga NetHack WorkBench Front End
  84.     The Amiga NetHack WorkBench Front End, HackWB, looks more or less like a
  85.     WorkBench Drawer - and acts the same way.  Games start with double clicks
  86.     and menus provide more detailed control of games and defaults.  On-line
  87.     help is available - just press the help key.
  88.  
  89.     Just as with WorkBench itself, options for games are set using the Info
  90.     menu item to modify Tooltypes.  Most common options can be set more 
  91.     easily using buttons available via Info also.
  92.  
  93.     If necessary, you can adjust the following using the ToolTypes from the
  94.     Info command:
  95.  
  96.     * OPTIONS=<options> - Options as available in the NetHack.cnf file.
  97.  
  98.     * HACKDIR=<directory> - Set NetHack working directory to be this
  99.       directory.
  100.  
  101.     * LEVELS=<levels> - Intermediate level saving device/directory.
  102.  
  103.     * PATH=<path> - To search for files such as rumors, help, etc.
  104.  
  105.     * CMDLINE=<args> - Arguments as passed on the CLI command line.
  106.       Note:  only the following flags are valid: n, X, D, and r.
  107.  
  108.     * SCORE <options> - Display the record of scores.  Options as
  109.       available on the CLI command line after a -s flag.
  110.  
  111.     * FONT=name.font:size - Set font used for text on screens which are
  112.       tall enough (>250 lines).
  113.  
  114.     * PENS=col0/col1/.../col7 - Set palette colors.
  115.  
  116.     Note that the NetHack.cnf file is read first, then the ToolTypes.  This
  117.     means that the options specified in the NetHack.cnf act as defaults
  118.     which can be overridden by an individual's personal icon's ToolTypes.
  119.     Thus the system oriented entries (HACKDIR, LEVELS, and PATH) should
  120.     generally be set only in NetHack.cnf.  NetHack.cnf should have default
  121.     values for OPTIONS, which will generally be overridden by ToolTypes
  122.     entries.
  123.  
  124.     Also, there are two additional options that may be specified in the
  125.     NetHack.cnf file or on an OPTIONS line: flush and silent.  When enabled,
  126.     flush discards all characters in the queue except the first, which limits
  127.     typeahead accidents.  The default setting is noflush.  Silent turns off
  128.     the audio output.
  129.  
  130.     Usually, most of the confusing options will be set in the NetHack.cnf
  131.     file once when the game is installed and can be ignored after that.
  132.  
  133. II.C. The Amiga NetHack CLI Front End
  134.     The CLI Front End, HackCli, provides the standard Unix-like command line
  135.     interface to NetHack.  Unlike the Unix front end however, the CLI front
  136.     end will ask if you want to play again (and optionally change the
  137.     arguments) before exiting.  See the ManPage file for the standard Unix
  138.     flags for NetHack.  In addition to those flags, Amiga NetHack accepts
  139.     flags -l to force non-interlaced mode and -L to force interlaced mode.
  140.  
  141.  
  142. III. Installing Amiga NetHack 3.1
  143.  
  144. III.A. General Installation
  145.     Installation should be easy - basically it consists of putting files
  146.     where they belong and adding assigns to your startup.  If you are
  147.     installing from the official binary distribution, simply unpacking
  148.     each archive in the appropriate directory will put the files in the
  149.     places they belong (note that the archives may have been split
  150.     for distribution).  If you are installing from source, most of this
  151.     work will be done by the time the build is finished.  See below for
  152.     complete installation instructions.
  153.  
  154.     IF YOU ALREADY HAVE A PREVIOUS VERSION INSTALLED YOU MUST DELETE THE
  155.     OLD SAVE AND BONES FILES - THEY WILL NOT WORK!  This includes save
  156.     and bones files from NetHack 3.1.0 and 3.1.1.
  157.  
  158. Will NetHack fit on your machine?
  159.     NetHack 3.1 is large.  NetHack 3.1 is very large.  You will need:
  160.     > Amiga 500, 1000, 2000, 2500, 3000, or 4000.  The A600, and A1200
  161.       should work, but have not been tested.
  162.     > WorkBench 1.3 or 2.04 or later.  WorkBench 1.2 or 2.02 will NOT work;
  163.       we will NOT be fixing that. 
  164.     > At least 2 meg of RAM.  NetHack will NOT run in 1 meg.
  165.     > Mass storage: NetHack will run on one floppy - but it won't be nice.
  166.       Two floppies are almost enough.  A hard drive with over 3 meg of
  167.       free space is recommended.
  168.  
  169. Find space for the files
  170.     Floppy installation:
  171.     Format five disks named:
  172.         NetHack
  173.         HackExe
  174.         HackExe2
  175.         NHsave
  176.         NHlevels
  177.     Hard Disk installation:
  178.         cd to wherever you want to install NetHack
  179.     make a new directory to be the main NetHack directory:
  180.       makedir NH313
  181.       makedir NH313/NetHack
  182.       makedir NH313/HackExe
  183.       makedir NH313/HackExe2
  184.     In S:User-Startup (under 2.0 or later) or S:Startup-Sequence
  185.     (under 1.3):
  186.       assign NetHack: to the NetHack directory you created above.
  187.       assign HackExe: to the HackExe directory.
  188.       assign HackExe2: to the HackExe2 directory.
  189.  
  190. Install the files
  191.     Unpack the archives in the directories or onto the disks.  Cd to
  192.     the appropriate places then unpack the files:
  193.     Archive 1 (the one this ReadMe came in), should be unpacked into
  194.     NetHack:.  If you are installing to hard disk, cd to the NH313 directory
  195.     before unpacking.
  196.       lz x NH31P3-1.lzh
  197.     Archive 2 unpacks in two sections to two different places.  If you are
  198.     installing to hard disk, cd to the NH313 directory before unpacking; if
  199.     you are installing to floppies, unpack each section to a different disk.
  200.       lz x NH31P3-2.lzh HackExe/#?
  201.       lz x NH31P3-2.lzh HackExe2/#?
  202.       
  203.     Use the table in the next section to see where things should end up.
  204.     Be sure that the file 8 ends up in NetHack:hack/8 and that the sounds
  205.     files end up in the NetHack:sounds directory.
  206.  
  207. Floppy fixup
  208.     If you are installing to floppies the files on each disk are probably one
  209.     level too far down (for example NetHack:NetHack.cnf is probably
  210.     NetHack:NetHack/NetHack.cnf).  This is how to fix that:
  211.     Put the following lines into the file ram:fixit (be sure to delete the
  212.     blanks from the start of the lines or this will NOT work!)
  213.       .key x
  214.       rename <x> /<x>
  215.  
  216.     For each of the disks NH313, NetHack, and HackExe, cd into the "inner"
  217.     directory (for example "cd NetHack:NetHack") and execute these commands:
  218.       list >ram:x lformat="execute ram:fixit %s" #?
  219.       execute ram:x
  220.  
  221. Configuration
  222.     Using your favorite text editor, edit NetHack:NetHack.cnf to match
  223.     your system.  Check HackExe:NetHack.dir and be sure that the paths
  224.     are correct (note that the C or D beginning the line is required and
  225.     is not part of the file path).  The HackWB program uses two standard
  226.     Amiga programs that must be installed in their standard places: c:copy
  227.     and c:rename.  The icons for the documentation invoke SYS:Utilities/More
  228.     and will probably need to be updated for your installation.
  229.  
  230.     Create the save file directory (makedir NetHack:save) and the levels file
  231.     directory (makedir NetHack:levels) - if you use floppies than these
  232.     directories will each be a different floppy.
  233.  
  234.     Create the score file (echo to NetHack:record) and, if desired, the log
  235.     file (echo to NetHack:logfile).
  236.  
  237. III.B. File Location Table
  238. NetHack:
  239.     amii.hlp    cmdhelp        data        default.icon
  240.     dungeon        Guidebook    Guidebook.info    hack.font
  241.     hack/8        HackCli        HackCli.info    HackWB
  242.     HackWB.hlp    HackWB.info    help        hh
  243.     history        license        ManPage        ManPage.info
  244.     NetHack.cnf    NewGame.info    opthelp        options
  245.     oracles        quest.dat    ReadMe        ReadMe.info
  246.     Recover        Recover.info    RecoverMan    RecoverMan.info    
  247.     rumors
  248.     sounds/Bell            sounds/Bugle
  249.     sounds/Drum_Of_Earthquake    sounds/Fire_Horn
  250.     sounds/Frost_Horn        sounds/Leather_Drum
  251.     sounds/Magic_Flute        sounds/Magic_Harp
  252.     sounds/Tooled_Horn        sounds/Wooden_Flute
  253.     sounds/Wooden_Harp
  254.     wizhelp
  255.  
  256. HackExe:
  257.     A-filla.lev    A-fillb.lev    A-goal.lev    A-locate.lev
  258.     A-start.lev    air.lev        asmodeus.lev    astral.lev
  259.     B-filla.lev    B-fillb.lev    B-goal.lev    B-locate.lev
  260.     B-start.lev    baalz.lev    bigroom.lev    C-filla.lev
  261.     C-fillb.lev    C-goal.lev    C-locate.lev    C-start.lev
  262.     castle.lev    E-filla.lev    E-fillb.lev    E-goal.lev
  263.     E-locate.lev    E-start.lev    earth.lev    fakewiz1.lev
  264.     fakewiz2.lev    fire.lev    H-filla.lev    H-fillb.lev
  265.     H-goal.lev    H-locate.lev    H-start.lev    juiblex.lev
  266.     K-filla.lev    K-fillb.lev    K-goal.lev    K-locate.lev
  267.     K-start.lev    knox.lev    medusa-1.lev    medusa-2.lev
  268.     minefill.lev    minetown.lev    mine_end.lev    NetHack.c01
  269.     NetHack.d00    NetHack.dir    oracle.lev    orcus.lev
  270.     P-filla.lev    P-fillb.lev    P-goal.lev    P-locate.lev
  271.     P-start.lev    R-filla.lev    R-fillb.lev    R-goal.lev
  272.     R-locate.lev    R-start.lev    S-filla.lev    S-fillb.lev
  273.     S-goal.lev    S-locate.lev    S-start.lev    sanctum.lev
  274.     T-filla.lev    T-fillb.lev    T-goal.lev    T-locate.lev
  275.     T-start.lev    tower1.lev    tower2.lev    tower3.lev
  276.     V-filla.lev    V-fillb.lev    V-goal.lev    V-locate.lev
  277.     V-start.lev    valley.lev    W-filla.lev    W-fillb.lev
  278.     W-goal.lev    W-locate.lev    W-start.lev    water.lev
  279.     wizard1.lev    wizard2.lev    wizard3.lev
  280.  
  281. HackExe2:
  282.     NetHack.c00
  283.  
  284.  
  285. IV. Compiling Amiga NetHack 3.1
  286.  
  287. IV.A. Compilation Overview
  288.     Compiling NetHack is not very hard - basically you do a little
  289.     configuration and start make.  It does, however, require a good amount
  290.     of disk space - almost 7 meg (and subject to change; more if you are
  291.     not doing the simple compile - more on that later).  It also needs a
  292.     good bit of memory.
  293.  
  294. IV.B. Basic Compilation
  295.     NetHack can be built with SAS/C version 6.2, Manx/Aztec version 5,
  296.     or the registered version of DICE.  The "official" compiler for NetHack 3.1
  297.     patchlevel 3 is SAS/C 6.2 - we have dropped support for SAS/C 5.x.
  298.  
  299. IV.B.1. Introduction to Compiling NetHack
  300.     Before doing any compilation, read the README files distributed
  301.     with the source.  These should familiarize you with the source tree
  302.     layout, and what files are shared with what computers.  Generally,
  303.     everything in the sys/amiga directory is used exclusively by the Amiga.
  304.  
  305.     The makefile (Makefile.ami) is set up to depend upon certain assignments,
  306.     providing the developer with a fairly flexible environment.  See
  307.     makefile.ami for assignment assumptions.
  308.  
  309.     Edit config.h to your liking and system configuration.  The following
  310.     need to be checked:
  311.  
  312.     UNIX - undef
  313.     MACRO_CPATH - undef
  314.     HACKDIR - define as "NetHack:"
  315.  
  316.     At this point, you're almost ready to begin a compile.  Read VERY
  317.     CAREFULLY through the Makefile to familiarize yourself with which
  318.     assignments are assumed.  Otherwise, you're going to get something
  319.     like "Insert NHS: in any drive." requestors.  You will need the
  320.     programs uudecode, flex, and bison.  The first thing Makefile.ami does
  321.     is build a program called 'makedefs', which handles a variety of
  322.     data file generation, and a pair of programs called 'lev_comp' and
  323.     'dgn_comp' which compile the special levels.  Makedefs will then be
  324.     run to create a few files, followed by an alphabetically sorted
  325.     compilation of the entire source tree.  This compilation process
  326.     will compile selected files from the Amiga:, Share:, and NHS:
  327.     directories.  If all goes well, all of the  objects will be linked
  328.     together to form a binary.  After building the main binary, a make
  329.     install will build the auxiliary files including help files, special
  330.     levels, icons, and the font files and will put these files into their
  331.     final positions.  The first make run should be done in OBJ: and the
  332.     make install should be done in NetHack:; for both runs, the makefile
  333.     is Amiga:Makefile.ami.
  334.  
  335.     Note that not all the source is simple C code.  If you are modifying
  336.     lev_comp or dgn_comp you may need bison and/or flex (depending on what
  337.     modifications you are making).  If you wish to modify the Intuition
  338.     windows in HackWB, the (uuencoded) PowerWindows files are provided.  You
  339.     do not need any of these tools to simply build NetHack - all the C output
  340.     files are provided in the source distribution.  Also, the ifchange
  341.     script requires a version of diff that produces standard Unix format
  342.     context diffs for proper operation - the version shipped with SASC
  343.     is not sufficient.
  344.  
  345.     If you do not have bison and flex, copy the files from Share:.  The
  346.     include files go in incl: and the C files go in util:.  If the compile
  347.     fails due to prototype errors for malloc and realloc, try deleting
  348.     the first line of lev_comp.c and dgn_comp.c.
  349.  
  350. IV.B.2. Compiling NetHack with SAS/C version 6.2
  351.  
  352.     NOTE WELL - Amiga NetHack has dropped support for SAS/C version 5.
  353.     This version of NetHack was developed with SAS/C 6.2.  Earlier versions
  354.     of the compiler are known to cause problems - don't use them.
  355.  
  356.     A couple of notes and warnings from the SAS/C users on the team:
  357.  
  358.     * Included in the SAS/C port is code for generating a SnapShot.tb
  359.       file upon catching various internal disasters.  That is why the
  360.       debug=l flag is in the makefile.  This adds about 270K to the disk
  361.       image, but it does not increase the run time memory requirements.
  362.           (But note that this is not useful for split binaries - see below.)
  363.  
  364.     * The 5.10b optimizer did not produce correct code for NetHack.  The
  365.       current optimizer has not been tested.
  366.  
  367.     * There are a large number of warnings under SAS/C, which are
  368.       harmless.
  369.  
  370. IV.B.3. Compiling NetHack with Manx/Aztec version 5
  371.     The Manx port has not been tested recently and is probably broken.  We
  372.     expect to have it back in shape soon but we welcome context diffs.  As
  373.     of the last check, NetHack required version 5.0B of the compiler.  
  374.  
  375. IV.B.4    Compiling NetHack with the registered version of DICE
  376.     The DICE port was complete at one point but has not been tested in
  377.     several months - it probably will not work as is.  We welcome context
  378.     diffs (or volunteers) to fix it.
  379.  
  380. IV.C. Advanced Compilation
  381.     As mentioned above, NetHack is very large.  There are several
  382.     techniques under development by the Amiga NetHack Team for dealing
  383.     with the situation.  As they are completed, they will be documented
  384.     here.  Before attempting any of them, you MUST do a "normal" build
  385.     as documented above; the techniques described below require the
  386.     auxiliary files from a normal build to form a complete NetHack
  387.     installation.
  388.  
  389. IV.C.1 Splitter
  390.     Splitter addresses two problems with NetHack: first, the long startup
  391.     time of the game, and second, the size of the binary (which will not fit
  392.     on a single disk).  See the file split/split.doc for information on
  393.     splitter.  The normal install target in Makefile.ami will build the
  394.     split version of NetHack as part of the normal install process; the
  395.     front ends will run from either the normal version (HackExe:NetHack) or,
  396.     preferably, from the split version (NetHack.c#?  NetHack.d#?) - the
  397.     decision is based on the presence (or absence) of HackExe:NetHack.dir.
  398.     Note that the contents of NetHack.dir after a build will generally not
  399.     be the correct contents for a floppy based system.
  400.  
  401. IV.C.2 TTY Interface
  402.     There is a basic tty interface available since 3.1.2.  This is a
  403.     preliminary version and it will change in the future.  Expect bugs.
  404.     (Due to the instability of the interface it will not be in the
  405.     official binaries for 3.1.3).  The TTY mode is designed for use in
  406.     a BBS setting - it is specifically not recommended for use on the
  407.     console.  The TTY interface is not currently compatible with split
  408.     binaries - invoke NetHack directly as NetHack.  In addition, you should
  409.     specify #undef SHELL when you compile and add "OPTIONS=windowtype=tty"
  410.     and delete GRAPHICS from NetHack.cnf; a 24x80 ANSI-compatible terminal
  411.     is assumed.  The present version does not deal with protecting one
  412.     user's saved games from another's, or deal with situations such as
  413.     low disk space gracefully.  Bug reports and suggestions for improvements
  414.     are requested from the user community.
  415.