219 lines
10 KiB
Plaintext
219 lines
10 KiB
Plaintext
NetHack 3.7.0 work-in-progress -- General information
|
|
|
|
NetHack 3.7 is an enhancement to the dungeon exploration game NetHack,
|
|
which is a distant descendent of Rogue and Hack, and a direct descendent of
|
|
NetHack 3.6.
|
|
|
|
NetHack 3.7.0 work-in-progress is not a release of NetHack. As a .0 version,
|
|
and still very early in its development cycle, there has already been changes
|
|
made, and there will continue to be many more prior to an eventual release.
|
|
The file doc/fixes36.4 in the source distribution has a full list of fixes. The
|
|
section.
|
|
|
|
In short -- there are likely to be bugs. Don't treat NetHack-3.7 branch as
|
|
released code, and if stability is paramount, then the most recent
|
|
NetHack 3.6.3 release is safest for you.
|
|
|
|
We're making the .0 work-in-progress available so that you can observe, test
|
|
out, and contribute to its development. Constructive suggestions, GitHub pull
|
|
requests, and bug reports are all welcome and encouraged.
|
|
|
|
The file doc/fixes37.0 in the source distribution has a full list of bug-fixes
|
|
included so far, as well as brief mentions of some of the other code changes.
|
|
The text in there was written for the development team's own use and is
|
|
provided "as is", so please do not ask us to further explain the entries in
|
|
that file. Some entries might be considered "spoilers", particularly in the
|
|
"new features" section.
|
|
|
|
Along with the game improvements and bug fixes, NetHack 3.7 strives to make
|
|
some general architectural improvements to the game or to its building
|
|
process. Among them:
|
|
|
|
* Remove barriers to building NetHack on one platform and operating system,
|
|
for later execution on another (possibly quite different) platform and/or
|
|
operating system. That capability is generally known as "cross-compiling."
|
|
See the file "Cross-compiling" in the top-level folder for more information
|
|
on that.
|
|
|
|
* Replace the build-time "yacc and lex"-based level compiler, the "yacc and
|
|
lex"-based dungeon compiler, and the quest text file processing done
|
|
by NetHack's "makedefs" utility, with Lua text alternatives that are
|
|
loaded and processed by the game during play.
|
|
|
|
* Write game savefiles and bonesfiles in a more portable and consistent way
|
|
to open up the possibility of utilizing them between different platforms,
|
|
such as between your desktop computer and your hand-held device.
|
|
|
|
* Add support to make the game restartable without exit (a.k.a. "play again"
|
|
support). Toward that end, many previously scattered and separate variables
|
|
have been gathered into a central 'g' structure in decl.h/decl.c. That
|
|
will benefit the porting effort to some platforms that are under
|
|
consideration.
|
|
|
|
Here are some other general notes on the changes in NetHack 3.7 that were not
|
|
considered spoilers:
|
|
- automatic annotation "gateway to Moloch's Sanctum" for vibrating square
|
|
level once that square's location becomes known (found or magic
|
|
mapped); goes away once sanctum temple is found (entered or high altar
|
|
mapped)
|
|
- savefile: add support to deconstruct internal data structures down into
|
|
their individual fields and save those fields instead of the entire
|
|
struct
|
|
- savefile: use little-endian format for fields where that makes a difference
|
|
|
|
- - - - - - - - - - -
|
|
|
|
Please read items (1), (2) and (3) BEFORE doing anything with your new code.
|
|
|
|
1. Unpack the code in a dedicated new directory. We will refer to that
|
|
directory as the 'Top' directory. It makes no difference what you
|
|
call it.
|
|
|
|
2. Having unpacked, you should have a file called 'Files' in your Top
|
|
directory.
|
|
|
|
This file contains the list of all the files you now SHOULD
|
|
have in each directory. Please check the files in each directory
|
|
against this list to make sure that you have a complete set.
|
|
|
|
This file also contains a list of what files are created during
|
|
the build process.
|
|
|
|
The names of the directories listed should not be changed unless you
|
|
are ready to go through the makefiles and the makedefs program and change
|
|
all the directory references in them.
|
|
|
|
3. Before you do anything else, please read carefully the file called
|
|
"license" in the 'dat' subdirectory. It is expected that you comply
|
|
with the terms of that license, and we are very serious about it.
|
|
|
|
4. If you are attempting to build NetHack on one platform/processor, to
|
|
produce a game on a different platform/processor it may behoove you to
|
|
read the file "Cross-compiling" in your Top directory.
|
|
|
|
5. If everything is in order, you can now turn to trying to get the program
|
|
to compile and run on your particular system. It is worth mentioning
|
|
that the default configuration is SysV/Sun/Solaris2.x (simply because
|
|
the code was housed on such a system).
|
|
|
|
The files sys/*/Install.* were written to guide you in configuring the
|
|
program for your operating system. The files win/*/Install.* are
|
|
available, where necessary, to help you in configuring the program
|
|
for particular windowing environments. Reading them, and the man pages,
|
|
should answer most of your questions.
|
|
|
|
|
|
At the time of the most recent official release, NetHack 3.6, it had
|
|
been tested to run/compile on:
|
|
|
|
Intel Pentium or better (or clone) running Linux, BSDI, or
|
|
Windows (7 through 10)
|
|
Intel 80386 or greater (or clone) boxes running Linux, or BSDI
|
|
Mac OS X 10.11 (follow the instructions in sys/unix, not sys/mac)
|
|
OpenVMS (aka VMS) V8.4 on Alpha and on Integrity/Itanium/IA64
|
|
|
|
Instructions have been provided by way of community contribution on:
|
|
msdos protected mode using djgpp including a Linux-host djgpp
|
|
cross-compile
|
|
|
|
Previous versions of NetHack were tested and known to run on the
|
|
following systems, but it is unknown if they can still build and
|
|
execute NetHack 3.6 or NetHack 3.7:
|
|
|
|
Apple Macintosh running MacOS 7.5 or higher, LinuxPPC, BeOS 4.0
|
|
Atari ST/TT/Falcon running TOS (or MultiTOS) with GCC
|
|
AT&T 3B1 running System V (3.51)
|
|
AT&T 3B2/600 & 3B2/622 running System V R3.2.1
|
|
AT&T 3B2/1000 Model 80 running System V R3.2.2
|
|
AT&T 3B4000 running System V
|
|
AT&T 6386 running System V R3.2
|
|
Commodore Amiga running AmigaDOS 3.0 or higher with SAS/C 6.x
|
|
(but see Makefile.ami about DICE and Manx)
|
|
Data General AViiON systems running DG/UX
|
|
DEC Alpha/VMS (aka OpenVMS AXP), running V1.x through V7.1
|
|
DEC VAX/VMS, running V4.6 through V7.1
|
|
DEC vaxen running BSD, Ultrix
|
|
Decstations running Ultrix 3.1, 4.x
|
|
Encore Multimax running UMAX 4.2
|
|
Gould NP1 running UTX 3/2
|
|
HP 9000s300 running HP-UX
|
|
HP 9000s700 running HP-UX 9.x, 10.x, 11.x
|
|
H/PC Pro devices running Windows CE 2.11 and higher.
|
|
IBM PC/RT and RS/6000 running AIX 3.x
|
|
IBM PS/2 and AT compatibles running OS/2 - 2.0 and up with GCC emx
|
|
IBM PS/2 and AT compatibles running OS/2 1.1 - 2.0 (and probably
|
|
Warp) with Microsoft 6.0, and OS/2 2.0 and up with IBM CSet++ 2.0.
|
|
Intel 80386 or greater (or clone) running 386BSD
|
|
Intel 80386 or greater (or clone) boxes running MS-DOS with DPMI.
|
|
Intel x86 running a version of Windows prior to XP.
|
|
Mips M2000 running RiscOS 4.1
|
|
NeXT running Mach (using BSD configuration)
|
|
Palm Size PC 1.1 devices running Windows CE 2.11
|
|
Pocket PC devices running Windows CE 3.0 and higher
|
|
Pyramid 9820x running OSx 4.4c
|
|
SGI Iris running IRIX
|
|
Stardent Vistra 800 running SysV R4.0
|
|
Stride 460 running UniStride 2.1
|
|
Sun-3s, -4s, and -386is running SunOS 3.x
|
|
Sun-3s and -386is running SunOS 4.x
|
|
Sun SPARC based machine running SunOS 4.x, Solaris 2.x, or Solaris 7
|
|
Valid Logic Systems SCALD-System
|
|
|
|
Previous versions, using a cross-compiler hosted on another platform,
|
|
such as win32, could also build the following from source:
|
|
Pocket PC devices running Windows CE 3.0 and higher
|
|
H/PC Pro devices running Windows CE 2.11 and higher
|
|
Palm Size PC 1.1 devices running Windows CE 2.11
|
|
|
|
Unless otherwise mentioned, the compiler used was the OS-vendor's
|
|
C compiler.
|
|
|
|
- - - - - - - - - - -
|
|
|
|
If you have problems building the game, or you find bugs in it, we recommend
|
|
filing a bug report from our "Contact Us" web page at:
|
|
https://www.nethack.org/common/contact.html
|
|
Please include the version information from #version or the command line
|
|
option --version in the appropriate field.
|
|
|
|
A public repository of the latest NetHack code that we've made
|
|
available can be obtained via git here:
|
|
https://github.com/NetHack/NetHack
|
|
or
|
|
https://sourceforge.net/p/nethack/NetHack/
|
|
|
|
When sending correspondence, please observe the following:
|
|
o Please be sure to include your machine type, OS, and patchlevel.
|
|
o Please avoid sending us binary files (e.g. save files or bones files).
|
|
If you have found a bug and think that your save file would aid in solving
|
|
the problem, send us a description in words of the problem, your machine
|
|
type, your operating system, and the version of NetHack. Tell us that you
|
|
have a save file, but do not actually send it.
|
|
You may then be contacted by a member of the development team with the
|
|
address of a specific person to send the save file to.
|
|
o Though we make an effort to reply to each bug report, it may take some
|
|
time before you receive feedback. This is especially true during the
|
|
period immediately after a new release, when we get the most bug reports.
|
|
o We don't give hints for playing the game.
|
|
o Don't bother to ask when the next version will be out or you can expect
|
|
to receive a stock answer.
|
|
|
|
If you want to submit a patch for the NetHack source code via email directly,
|
|
you can direct it to this address:
|
|
nethack-bugs (at) nethack.org
|
|
|
|
If a feature is not accepted you are free, of course, to post the patches
|
|
to the net yourself and let the marketplace decide their worth.
|
|
|
|
All of this amounts to the following: If you decide to apply a free-lanced
|
|
patch to your 3.6 code, you are welcome to do so, of course, but we won't
|
|
be able to provide support or receive bug reports for it.
|
|
|
|
In our own patches, we will assume that your code is synchronized with ours.
|
|
|
|
-- Good luck, and happy Hacking --
|
|
|
|
# $NHDT-Date: 1572309271 2019/10/29 00:34:31 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.57 $
|
|
# Copyright (c) 2012 by Michael Allison
|
|
# NetHack may be freely redistributed. See license for details.
|