377be376fe7b430e7bc3a3755ea37097673a70f5
Make verbose a prefix compound option. verbose and !verbose should still work just as the boolean option did. verbose0, verbose1, verbose2, verbose3, verbose4 must be given a decimal value in the config file to set the bits in verbosity_suppressions[0] through verbosity_suppressions[4]. That can be used to suppress any messages represented by the verbosity_values defined in include/hack.h. This also adds a more verbose variation of prinv() where the total count is included in the message (that particular more verbose message can be suppressed with OPTIONS=verbose3:134217728). Verbose(n,x) name Hex Value Decimal Option ------------------------------------------------------------------- interrupt_multi 0x00000001 1 verbose0 use_stethoscope 0x00000002 2 verbose0 Mb_hit 0x00000004 4 verbose0 adjattrib 0x00000008 8 verbose0 ballfall 0x00000010 16 verbose0 use_crystal_ball1 0x00000020 32 verbose0 use_crystal_ball2 0x00000040 64 verbose0 digactualhole1 0x00000080 128 verbose0 digactualhole2 0x00000100 256 verbose0 mdig_tunnel1 0x00000200 512 verbose0 mdig_tunnel2 0x00000400 1024 verbose0 boulder_hits_pool1 0x00000800 2048 verbose0 boulder_hits_pool2 0x00001000 4096 verbose0 drop1 0x00002000 8192 verbose0 drop2 0x00004000 16384 verbose0 drop3 0x00008000 32768 verbose0 go_to_level1 0x00010000 65536 verbose0 go_to_level2 0x00020000 131072 verbose0 go_to_level3 0x00040000 262144 verbose0 rot_corpse 0x00080000 524288 verbose0 getpos1 0x00100000 1048576 verbose0 getpos2 0x00200000 2097152 verbose0 off_msg 0x00400000 4194304 verbose0 on_msg 0x00800000 8388608 verbose0 Blindf_on 0x01000000 16777216 verbose0 dog_eat 0x02000000 33554432 verbose0 dog_invent 0x04000000 67108864 verbose0 dokick 0x08000000 134217728 verbose0 toss_up 0x10000000 268435456 verbose0 consume_tin1 0x20000000 536870912 verbose0 consume_tin2 0x40000000 1073741824 verbose0 doengrave1 0x00000001 1 verbose1 doengrave2 0x00000002 2 verbose1 doengrave3 0x00000004 4 verbose1 explode 0x00000008 8 verbose1 moverock 0x00000010 16 verbose1 still_chewing 0x00000020 32 verbose1 trapmove1 0x00000040 64 verbose1 trapmove2 0x00000080 128 verbose1 trapmove3 0x00000100 256 verbose1 trapmove4 0x00000200 512 verbose1 trapmove5 0x00000400 1024 verbose1 getobj1 0x00000800 2048 verbose1 getobj2 0x00001000 4096 verbose1 doprgold 0x00002000 8192 verbose1 doorlock1 0x00004000 16384 verbose1 doorlock2 0x00008000 32768 verbose1 monpoly1 0x00010000 65536 verbose1 monpoly2 0x00020000 131072 verbose1 mswingsm 0x00040000 262144 verbose1 missmu 0x00080000 524288 verbose1 mswings 0x00100000 1048576 verbose1 wildmiss 0x00200000 2097152 verbose1 gulpmu 0x00400000 4194304 verbose1 explmu 0x00800000 8388608 verbose1 meatmetal1 0x01000000 16777216 verbose1 meatmetal2 0x02000000 33554432 verbose1 meatmetal3 0x04000000 67108864 verbose1 meatmetal4 0x08000000 134217728 verbose1 relobj 0x10000000 268435456 verbose1 ready_weapon 0x20000000 536870912 verbose1 wield_tool 0x40000000 1073741824 verbose1 meatobj1 0x00000001 1 verbose2 meatobj2 0x00000002 2 verbose2 meatobj3 0x00000004 4 verbose2 meatobj4 0x00000008 8 verbose2 meatcorpse1 0x00000010 16 verbose2 meatcorpse2 0x00000020 32 verbose2 mpickgold 0x00000040 64 verbose2 mpickstuff 0x00000080 128 verbose2 setmangry 0x00000100 256 verbose2 mb_trapped 0x00000200 512 verbose2 m_move1 0x00000400 1024 verbose2 m_move2 0x00000800 2048 verbose2 m_move3 0x00001000 4096 verbose2 m_move4 0x00002000 8192 verbose2 m_move5 0x00004000 16384 verbose2 thitu1 0x00008000 32768 verbose2 thitu2 0x00010000 65536 verbose2 m_throw 0x00020000 131072 verbose2 handler_menustyle 0x00040000 262144 verbose2 handler_autounlock 0x00080000 524288 verbose2 handler_msg_window 0x00100000 1048576 verbose2 handler_whatis_coord1 0x00200000 2097152 verbose2 handler_whatis_coord2 0x00400000 4194304 verbose2 dolook 0x00800000 8388608 verbose2 describe_decor1 0x01000000 16777216 verbose2 describe_decor2 0x02000000 33554432 verbose2 loot_mon 0x04000000 67108864 verbose2 dotip 0x08000000 134217728 verbose2 polymon 0x10000000 268435456 verbose2 teleds 0x20000000 536870912 verbose2 level_tele 0x40000000 1073741824 verbose2 ghost_from_bottle 0x00000001 1 verbose3 dodip1 0x00000002 2 verbose3 dodip2 0x00000004 4 verbose3 dodip3 0x00000008 8 verbose3 intemple 0x00000010 16 verbose3 doread1 0x00000020 32 verbose3 doread2 0x00000040 64 verbose3 doread3 0x00000080 128 verbose3 doread4 0x00000100 256 verbose3 doread5 0x00000200 512 verbose3 doread6 0x00000400 1024 verbose3 doread7 0x00000800 2048 verbose3 drop_boulder_on_player0x00001000 4096 verbose3 do_genocide 0x00002000 8192 verbose3 call_kops1 0x00004000 16384 verbose3 call_kops2 0x00008000 32768 verbose3 call_kops3 0x00010000 65536 verbose3 erode_obj1 0x00020000 131072 verbose3 erode_obj2 0x00040000 262144 verbose3 erode_obj3 0x00080000 524288 verbose3 trapeffect_rocktrap 0x00100000 1048576 verbose3 climb_pit 0x00200000 2097152 verbose3 drown 0x00400000 4194304 verbose3 mon_adjust_speed 0x00800000 8388608 verbose3 hit 0x01000000 16777216 verbose3 miss 0x02000000 33554432 verbose3 makewish 0x04000000 67108864 verbose3 prinv 0x08000000 134217728 verbose3 do_attack 0x00000001 1 verbose4 known_hitum 0x00000002 2 verbose4 hmon_hitmon1 0x00000004 4 verbose4 hmon_hitmon2 0x00000008 8 verbose4 mhitm_ad_tlpt 0x00000010 16 verbose4 mhitm_ad_wrap1 0x00000020 32 verbose4 mhitm_ad_wrap2 0x00000040 64 verbose4 mhitm_ad_dgst 0x00000080 128 verbose4 damageum 0x00000100 256 verbose4 missum 0x00000200 512 verbose4 hmonas1 0x00000400 1024 verbose4 hmonas2 0x00000800 2048 verbose4 hmonas3 0x00001000 4096 verbose4 hmonas4 0x00002000 8192 verbose4 passive 0x00004000 16384 verbose4 flash_hits_mon 0x00008000 32768 verbose4
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/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
released code, and if stability is paramount, then the most recent
NetHack 3.6.6 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/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
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 running Linux, BSDI, or
Windows 10 to 11
Intel 80386 or greater boxes running Linux, or BSDI
macOS 10.11 (El Capitan) to 12 (Monterey) (follow the instructions
in sys/unix, not sys/mac)
OpenVMS (aka VMS) V8.4 on Alpha and on Integrity/Itanium/IA64
Intel 80386 or greater running MS-DOS with DPMI
built via Linux-hosted djgpp cross-compiler
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.
- - - - - - - - - - -
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: 1652133501 2022/05/09 21:58:21 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.97 $
# Copyright (c) 2012 by Michael Allison
# NetHack may be freely redistributed. See license for details.
Description
Languages
C
89.5%
Lua
4.4%
C++
4%
Perl
0.5%
Makefile
0.5%
Other
0.7%