1 NetHack 3.3.1 -- General information 2 3NetHack 3.3.1 is an enhancement to the dungeon exploration game NetHack. 4It is a distant descendent of Rogue and Hack, and a direct descendent of 5NetHack 3.2 and 3.3.0. This version is primarily a bug fix release. 6 7Here is a brief overview of new additions and changes in the game. 8To give more would be cheating, wouldn't it? 9 10o Many, many bug fixes and minor tweaks 11o New warning system that is more pleasant than the old one 12o The Amiga and Atari ports are resurrected 13o The Gnome toolkit interface is now offered as an experimental option 14 15 16 - - - - - - - - - - - 17 18Please read items (1), (2) and (3) BEFORE doing anything with your new code. 19 201. Unpack the code in a dedicated new directory. We will refer to that 21 directory as the 'Top' directory. It makes no difference what you 22 call it. 23 242. If there is no flaw in the packaging, many sub-directories will be 25 automatically created, and files will be deposited in them: 26 27 a. A 'dat' directory, which contains a variety of data files. 28 b. A 'doc' directory, which contains various documentation. 29 c. An 'include' directory, which contains *.h files. 30 d. A 'src' directory, which contains game *.c files used by all versions. 31 e. A 'util' directory, which contains files for utility programs. 32 f. A 'sys' directory, which contains subdirectories for files that 33 are operating-system specific. 34 g. A 'sys/share' subdirectory, which contains files shared by some OSs. 35 h. A 'sys/share/sounds' subsubdirectory, which contains sound files 36 shared by some OSs. 37 i. A 'sys/amiga' subdirectory, which contains files specific to AmigaDOS. 38 j. A 'sys/amiga/splitter' subsubdirectory, which contains files 39 for the Amiga splitter program. 40 k. A 'sys/atari' subdirectory, which contains files specific to TOS. 41 l. A 'sys/be' subdirectory, which contains files specific to Be OS. 42 m. A 'sys/mac' subdirectory, which contains files specific to MacOS. 43 n. A 'sys/mac/old' subdirectory which contains files used by 44 compilers that haven't been tested/used in a while. 45 o. A 'sys/msdos' subdirectory, which contains files specific to MS-DOS. 46 p. A 'sys/msdos/old' subsubdirectory, which contains files for old 47 MS-DOS compilers (no longer officially supported). 48 q. A 'sys/os2' subdirectory, which contains files specific to OS/2. 49 r. A 'sys/unix' subdirectory, which contains files specific to UNIX. 50 s. A 'sys/vms' subdirectory, which contains files specific to VMS. 51 t. A 'sys/winnt' subdirectory, which contains files specific to Windows NT. 52 u. A 'win' directory, which contains subdirectories for files that 53 are windowing-system specific (but not operating-system specific). 54 v. A 'win/share' subdirectory, which contains files shared by some 55 windowing systems. 56 w. A 'win/Qt' subdirectory, which contains files specific to Qt. 57 x. A 'win/X11' subdirectory, which contains files specific to X11. 58 y. A 'win/gem' subdirectory, which contains files specific to GEM. 59 z. A 'win/gnome' subdirectory, which contains files specific to GNOME. 60 A. A 'win/tty' subdirectory, which contains files specific to ttys. 61 B. A 'win/win32' subdirectory, which contains files specific to the 62 Windows NT Win32 API. 63 64 The names of these directories should not be changed unless you are 65 ready to go through the makefiles and the makedefs program and change 66 all the directory references in them. 67 683. Having unpacked, you should have a file called 'Files' in your Top 69 directory. This file contains the list of all the files you now SHOULD 70 have in each directory. Please check the files in each directory 71 against this list to make sure that you have a complete set. 72 734. Before you do anything else, please read carefully the file called 74 "license" in the 'dat' subdirectory. It is expected that you comply 75 with the terms of that license, and we are very serious about it. 76 775. If everything is in order, you can now turn to trying to get the program 78 to compile and run on your particular system. It is worth mentioning 79 that the default configuration is SysV/Sun/Solaris2.x (simply because 80 the code was housed on such a system). It is also worth mentioning 81 here that NetHack 3.3 is a huge program. If you intend to run it on a 82 small machine, you'll have to make hard choices among the options 83 available in config.h. 84 85 The files sys/*/Install.* were written to guide you in configuring the 86 program for your operating system. The files win/*/Install.* are 87 available, where necessary, to help you in configuring the program 88 for particular windowing environments. Reading them, and the man pages, 89 should answer most of your questions. 90 91 At the time of this release, NetHack 3.3 is known to run/compile on: 92 93 Apple Macintosh running MacOS 7.5 or higher, LinuxPPC, BeOS 4.0 94 Atari ST/TT/Falcon running TOS (or MultiTOS) with GCC 95 Commodore Amiga running AmigaDOS 3.0 or higher with SAS/C 6.x 96 (but see Makefile.ami about DICE and Manx) 97 DEC Alpha/VMS (aka OpenVMS AXP), running V1.x through V7.0 98 DEC VAX/VMS, running V4.6 through V7.0 99 HP 9000s700 running HP-UX 10.x, 11.x 100 IBM PC compatibles running MS-DOS with Microsoft C, Borland C++ 3.1, or 101 DJGPP. It is recommended to have at least an 80386 processor. 102 IBM PS/2 and AT compatibles running OS/2 - 2.0 and up with GCC emx 103 Intel 80386 or greater (or clone) and DEC Alpha desktop machines 104 running Windows NT 105 Intel 80386 or greater (or clone) boxes running Linux, BSDI, or 106 Windows 95,98,2000 107 Intel Pentium or better (or clone) running BeOS 4.5 108 Sun SPARC based machine running SunOS 4.x, Solaris 2.x, or Solaris 7 109 110 Previous versions of NetHack were tested on the following systems, 111 and we expect that NetHack 3.3 will work on them as well: 112 113 AT&T 3B1 running System V (3.51) 114 AT&T 3B2/600 & 3B2/622 running System V R3.2.1 115 AT&T 3B2/1000 Model 80 running System V R3.2.2 116 AT&T 3B4000 running System V 117 AT&T 6386 running System V R3.2 118 Data General AViiON systems running DG/UX 119 DEC vaxen running BSD, Ultrix 120 Decstations running Ultrix 3.1, 4.x 121 Encore Multimax running UMAX 4.2 122 Gould NP1 running UTX 3/2 123 HP 9000s300 running HP-UX 124 HP 9000s700 running HP-UX 9.x 125 IBM PC/RT and RS/6000 running AIX 3.x 126 IBM PS/2 and AT compatibles running OS/2 1.1 - 2.0 (and probably 127 Warp) with Microsoft 6.0, and OS/2 2.0 and up with IBM CSet++ 2.0. 128 Intel 80386 or greater (or clone) running 386BSD 129 Mips M2000 running RiscOS 4.1 130 NeXT running Mach (using BSD configuration) 131 Pyramid 9820x running OSx 4.4c 132 SGI Iris running IRIX 133 Stardent Vistra 800 running SysV R4.0 134 Stride 460 running UniStride 2.1 135 Sun-3s, -4s, and -386is running SunOS 3.x 136 Sun-3s and -386is running SunOS 4.x 137 Valid Logic Systems SCALD-System 138 139 Unless otherwise mentioned, the compiler used was the OS-vendor's 140 C compiler. 141 142 The Atari and Amiga ports are struggling to stay supported due to a 143 lack of people with machines and time. 144 145 With the demise of Windows NT on the DEC Alpha, no attempt has been 146 made to build NetHack 3.3.1 on that platform. 147 148 A build for Intel 80286 machines and DOS "real mode" overlaid versions 149 has been produced for 3.3.1, with a marginal attempt at tuning it for 150 suitable performance. If someone has access to real-mode compiler and 151 lots of spare time on their hands, you may be able to enhance the 152 performance even further. We don't know how well it runs on a real 153 80286 since we no longer have access to one. 154 155 - - - - - - - - - - - 156 157If you have problems building the game, or you find bugs in it, the 158development team may be reached at 159 160 nethack-bugs@nethack.org 161 162When sending correspondence, please observe the following: 163o Please be sure to include your machine type, OS, and patchlevel. 164o Never send binary files (e.g. save files or bones files) to the 165 nethack-bugs address. Whichever platform you are using, only a small 166 minority of the development team has access to it, and you will rapidly 167 annoy the others. If you have found a bug and think that your save file 168 would aid in solving the problem, send us a description in words of the 169 problem, your machine type, your operating system, and the version of 170 NetHack. Tell us that you have a save file, but do not actually send it. 171 In the rare case that we think your save file would be helpful, you will 172 be contacted by a member of the development team with the address of a 173 specific person to send the save file to. 174o Though we make an effort to reply to each bug report, it may take some 175 time before you receive feedback. This is especially true during the 176 period immediately after a new release, when we get the most bug reports. 177o We don't give hints for playing the game. 178o Don't bother to ask when the next version will be out. You will not get 179 a reply. 180Alternatively, you may fill out the bug report form on our web 181page at www.nethack.org. 182 183Patches especially should be directed to this address. If you've changed 184something to get NetHack to run on your system, it's likely that others have 185done it by making slightly different modifications. By routing your patches 186through the development team, we should be able to avoid making everyone else 187choose among variant patches claiming to do the same thing, to keep most of 188the copies of 3.3 synchronized by means of official patches, and to maintain 189the painfully-created file organization. (This process has been working since 190the time when everyone just posted their own patches to 2.3. At that time, 191there were no archived bug-fixes to give to people who got 2.3 after its initial 192release, so the same bugs kept being discovered by new batches of people.) 193We have been successful in preventing this from happening since the 3.0 194release. Please cooperate to keep this from happening to 3.3. 195 196It is inevitable that we will reject some proposed additions of new features 197either because they do not fit our conception of the game, or because they 198require more code than we consider they're worth. If we reject your feature, 199you are free, of course, to post the patches to the net yourself and let the 200marketplace decide their worth. 201 202All of this amounts to the following: If you decide to apply a free-lanced 203patch to your 3.3 code, you are on your own. In our own patches, we will 204assume that your code is synchronized with ours. 205 206 -- Good luck, and happy Hacking -- 207