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,
|
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
|
which is a distant descendent of Rogue and Hack, and a direct descendent
|
||||||
NetHack 3.6.
|
of NetHack 3.6.
|
||||||
|
|
||||||
NetHack 3.7.0 work-in-progress is not a release of NetHack. As a .0 version,
|
NetHack 5.0.0 is a release of NetHack. As a .0 version, there may be some
|
||||||
and still very early in its development cycle, there has already been changes
|
bugs encountered. Constructive suggestions, GitHub pull requests, and bug
|
||||||
made, and there will continue to be many more prior to an eventual release.
|
reports are all welcome and encouraged.
|
||||||
The file doc/fixes3-7-0.txt in the source distribution will be updated with
|
|
||||||
a list of fixes as they are committed.
|
|
||||||
|
|
||||||
In short -- there are likely to be bugs. Don't treat NetHack-3.7 branch as
|
The file doc/fixes5-0-0.txt in the source distribution contains a full list
|
||||||
released code, and if stability is paramount, then the most recent
|
of fixes and changes as they were committed. The text in there was written
|
||||||
NetHack 3.6.7 release is safest for you.
|
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
|
Along with the game improvements and bug fixes, NetHack 5.0 strives to make
|
||||||
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
|
|
||||||
some general architectural improvements to the game or to its building
|
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
|
for later execution on another (possibly quite different) platform and/or
|
||||||
operating system. That capability is generally known as "cross-compiling."
|
operating system. That capability is generally known as "cross-compiling."
|
||||||
See the file "Cross-compiling" in the top-level folder for more information
|
See the file "Cross-compiling" in the top-level folder for more information
|
||||||
on that.
|
on that.
|
||||||
|
|
||||||
* Replace the build-time "yacc and lex"-based level compiler, the "yacc and
|
* The build-time "yacc and lex"-based level compiler, the
|
||||||
lex"-based dungeon compiler, and the quest text file processing done
|
"yacc and lex"-based dungeon compiler, and the quest text file processing
|
||||||
by NetHack's "makedefs" utility, with Lua text alternatives that are
|
previously done by NetHack's "makedefs" utility, have been replaced with
|
||||||
loaded and processed by the game during play.
|
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
|
Here are some other general notes on the changes in NetHack 5.0 that were not
|
||||||
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
|
|
||||||
considered spoilers:
|
considered spoilers:
|
||||||
- automatic annotation "gateway to Moloch's Sanctum" for vibrating square
|
- automatic annotation "gateway to Moloch's Sanctum" for vibrating square
|
||||||
level once that square's location becomes known (found or magic
|
level once that square's location becomes known (found or magic
|
||||||
mapped); goes away once sanctum temple is found (entered or high altar
|
mapped); goes away once sanctum temple is found (entered or high altar
|
||||||
mapped)
|
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
|
that the default configuration is SysV/Sun/Solaris2.x (simply because
|
||||||
the code was housed on such a system).
|
the code was housed on such a system).
|
||||||
|
|
||||||
The files sys/*/Install.* were written to guide you in configuring the
|
The files sys/*/Install.*, or sys/*/NewInstall.* were written to guide
|
||||||
program for your operating system. The files win/*/Install.* are
|
you in configuring the program for your operating system. The files
|
||||||
available, where necessary, to help you in configuring the program
|
win/*/Install.* are available, where necessary, to help you in
|
||||||
for particular windowing environments. Reading them, and the man pages,
|
configuring the program for particular windowing environments.
|
||||||
should answer most of your questions.
|
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
|
At the time of the most recent official release, NetHack 5.0, it had
|
||||||
been tested to run/compile on:
|
been tested to run and/or compile on:
|
||||||
|
|
||||||
Intel Pentium or better running Linux, BSDI
|
Intel Pentium or better running Linux, BSDI
|
||||||
|
[compiles, runs]
|
||||||
Intel Pentium or better running Windows 10 or 11
|
Intel Pentium or better running Windows 10 or 11
|
||||||
|
[compiles, runs]
|
||||||
Intel-based, or Apple M1, M2, M3, M4, M5 Macs running
|
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)
|
(follow the instructions in sys/unix/NewInstall.unx)
|
||||||
Intel 80386 or greater running MS-DOS with DPMI
|
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)
|
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
|
OpenVMS (aka VMS) V8.4 on Alpha and on Integrity/Itanium/IA64
|
||||||
|
OpenVMS (ask VMS) V9.2-3 on x86-64
|
||||||
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.
|
|
||||||
|
|
||||||
- - - - - - - - - - -
|
- - - - - - - - - - -
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -7,7 +7,7 @@ produce 3.6.7 as well as any post-release fixes in binaries.
|
|||||||
General Fixes and Modified Features
|
General Fixes and Modified Features
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
during engraving, spaces were counted instead of non-space (cherry-pick of
|
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()
|
avoid potential buffer overflow in append_str()
|
||||||
resolve missing dependency in NetHack.sln
|
resolve missing dependency in NetHack.sln
|
||||||
code in include/tradstdc.h was trying to suppress warn_unused result by
|
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.
|
official 3.6.6 binary was built.
|
||||||
windows: switch from using keyhandling dll's to incorporating the three
|
windows: switch from using keyhandling dll's to incorporating the three
|
||||||
variations (default, ray, 340) in sys/winnt/nttty.c
|
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
|
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
|
drinkfountain() fate 24 to curse objects could end up cursing objects
|
||||||
on the floor chain instead of the intended inventory object chain
|
on the floor chain instead of the intended inventory object chain
|
||||||
proceed with showpaths option even if the sysconf file is missing
|
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
|
avoid using col in Guidebook build, since some distros no longer include
|
||||||
it, particularly some that use musl libc
|
it, particularly some that use musl libc
|
||||||
back-port some nroff macro updates for Guidebook
|
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
|
| %T | current time, timestamp
|
||||||
| %d | game start, YYYYMMDDhhmmss
|
| %d | game start, YYYYMMDDhhmmss
|
||||||
| %D | current time, YYYYMMDDhhmmss
|
| %D | current time, YYYYMMDDhhmmss
|
||||||
| %v | game version, eg. '3.7.0-0'
|
| %v | game version, eg. '5.0.0-0'
|
||||||
| %u | UID
|
| %u | UID
|
||||||
| %n | player name
|
| %n | player name
|
||||||
| %N | first character of player name
|
| %N | first character of player name
|
||||||
|
|||||||
Reference in New Issue
Block a user