README 1st cut
This commit is contained in:
@@ -1,67 +1,40 @@
|
||||
NetHack 3.7.0 work-in-progress -- General information
|
||||
NetHack 5.0.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 5.0 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/fixes3-7-0.txt in the source distribution will be updated with
|
||||
a list of fixes as they are committed.
|
||||
NetHack 5.0.0 is a release of NetHack. As a .0 version, there may be some
|
||||
bugs encountered. Constructive suggestions, GitHub pull requests, and bug
|
||||
reports are all welcome and encouraged.
|
||||
|
||||
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.7 release is safest for you.
|
||||
The file doc/fixes5-0-0.txt in the source distribution contains a full list
|
||||
of fixes and changes as they were committed. 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.
|
||||
|
||||
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/fixes3-7-0.txt 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
|
||||
Along with the game improvements and bug fixes, NetHack 5.0 strives to make
|
||||
some general architectural improvements to the game or to its building
|
||||
process. Among them:
|
||||
process. Among them, 5.0 has:
|
||||
|
||||
* Remove barriers to building NetHack on one platform and operating system,
|
||||
* removes 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.
|
||||
* The build-time "yacc and lex"-based level compiler, the
|
||||
"yacc and lex"-based dungeon compiler, and the quest text file processing
|
||||
previously done by NetHack's "makedefs" utility, have been replaced 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 central 'ga' through 'gz' structures in
|
||||
decl.h/decl.c. That central ability to reinitialize the variables will
|
||||
benefit the porting effort to some platforms that are under consideration
|
||||
where "play again" is typical.
|
||||
|
||||
Here are some other general notes on the changes in NetHack 3.7 that were not
|
||||
Here are some other general notes on the changes in NetHack 5.0 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 for a tool to deconstruct data structures,
|
||||
that get stored in a savefile, down into their individual fields and
|
||||
save those individual fields instead of the entire struct. The
|
||||
intention is to provide a way to export and transport savefiles
|
||||
between platforms, architectures and data models.
|
||||
|
||||
- - - - - - - - - - -
|
||||
|
||||
@@ -98,75 +71,36 @@ Please read items (1), (2) and (3) BEFORE doing anything with your new code.
|
||||
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.
|
||||
The files sys/*/Install.*, or sys/*/NewInstall.* 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:
|
||||
At the time of the most recent official release, NetHack 5.0, it had
|
||||
been tested to run and/or compile on:
|
||||
|
||||
Intel Pentium or better running Linux, BSDI
|
||||
[compiles, runs]
|
||||
Intel Pentium or better running Windows 10 or 11
|
||||
[compiles, runs]
|
||||
Intel-based, or Apple M1, M2, M3, M4, M5 Macs running
|
||||
macOS 10.11 (El Capitan) to macOS 26 (Tahoe)
|
||||
[compiles, runs]
|
||||
macOS 10.11 (El Capitan) to macOS 26 (Tahoe) [compile, run]
|
||||
(follow the instructions in sys/unix/NewInstall.unx)
|
||||
Intel 80386 or greater running MS-DOS with DPMI
|
||||
[cross-compiles on Linux, runs on MS-DOS, emulator/dosbox]
|
||||
built via djgpp compiler (native or Linux-hosted cross-compiler)
|
||||
AmigaOS 3.0 or later
|
||||
[cross-compiles on Linux or macOS, runs on Amiga or emulator]
|
||||
Running requires Kickstart 39+
|
||||
6 MB free RAM minimum (8 MB recommended)
|
||||
Hard drive with ~5 MB free space
|
||||
|
||||
There has also been some success runing/comiling on:
|
||||
OpenVMS (aka VMS) V8.4 on Alpha and on Integrity/Itanium/IA64
|
||||
|
||||
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 x86 running a version of Windows 7 or 8 or 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.
|
||||
OpenVMS (ask VMS) V9.2-3 on x86-64
|
||||
|
||||
- - - - - - - - - - -
|
||||
|
||||
|
||||
+3
-3
@@ -7,7 +7,7 @@ produce 3.6.7 as well as any post-release fixes in binaries.
|
||||
General Fixes and Modified Features
|
||||
-----------------------------------
|
||||
during engraving, spaces were counted instead of non-space (cherry-pick of
|
||||
4e0a1e04 from NetHack-3.7)
|
||||
4e0a1e04 from NetHack-5.0 WIP)
|
||||
avoid potential buffer overflow in append_str()
|
||||
resolve missing dependency in NetHack.sln
|
||||
code in include/tradstdc.h was trying to suppress warn_unused result by
|
||||
@@ -29,7 +29,7 @@ windows: the console.rc file had outdated information stating 3.6.3 when the
|
||||
official 3.6.6 binary was built.
|
||||
windows: switch from using keyhandling dll's to incorporating the three
|
||||
variations (default, ray, 340) in sys/winnt/nttty.c
|
||||
curses: cherry-picked selectsaved code from 3.7 for menu of save files
|
||||
curses: cherry-picked selectsaved code from 5.0 WIP for menu of save files
|
||||
NetHackW: fix delay rendering of cursor when using farlook
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ makedefs can produce individual bogusmon, engrave and epitaph files
|
||||
drinkfountain() fate 24 to curse objects could end up cursing objects
|
||||
on the floor chain instead of the intended inventory object chain
|
||||
proceed with showpaths option even if the sysconf file is missing
|
||||
avoid memory leak in mk_artifact(); cherry-pick of 3cca4f27 from 3.7 WIP
|
||||
avoid memory leak in mk_artifact(); cherry-pick of 3cca4f27 from 5.0 WIP
|
||||
avoid using col in Guidebook build, since some distros no longer include
|
||||
it, particularly some that use musl libc
|
||||
back-port some nroff macro updates for Guidebook
|
||||
|
||||
+1
-1
@@ -100,7 +100,7 @@ Only available if NetHack was compiled with DUMPLOG.
|
||||
| %T | current time, timestamp
|
||||
| %d | game start, YYYYMMDDhhmmss
|
||||
| %D | current time, YYYYMMDDhhmmss
|
||||
| %v | game version, eg. '3.7.0-0'
|
||||
| %v | game version, eg. '5.0.0-0'
|
||||
| %u | UID
|
||||
| %n | player name
|
||||
| %N | first character of player name
|
||||
|
||||
Reference in New Issue
Block a user