Commit Graph
100 Commits
Author SHA1 Message Date
nhmall 0eda8f288c Merge branch 'NetHack-3.7' into to500 2026-05-01 17:17:17 -04:00
nhmall d3f2ed4e47 Guidebook.tex fix 2026-05-01 13:16:33 -04:00
nhmall 7739b382ac Guidebook.tex fix 2026-05-01 13:09:49 -04:00
nhmall 84e2822106 Merge branch 'NetHack-3.7' into to500 2026-05-01 13:03:43 -04:00
nhmall bce8624a07 verb tense bit 2026-05-01 12:41:31 -04:00
nhmall 6c9e7b60e2 Guidebook update 2026-05-01 12:38:03 -04:00
nhmall 31d3867ccc Merge branch 'NetHack-3.7' into to500 2026-05-01 09:12:37 -04:00
nhmall a165d9ee42 preprocessor macro: MAC -> MACOS9 2026-05-01 09:11:29 -04:00
nhmall cfcc3bad85 wording/grammar bit in Cross-compiling 2026-05-01 08:37:33 -04:00
nhmall 7937140ec7 Merge branch 'NetHack-3.7' into to500 2026-05-01 08:11:42 -04:00
nhmall 7f824c8d5c Guidebook type 2026-05-01 07:58:02 -04:00
nhmall 88309ebfd1 wording bit 2026-05-01 07:46:38 -04:00
nhmall e607982c6a whitespace 2026-04-30 20:38:14 -04:00
nhmall 49fac6b422 a couple of typos 2026-04-30 20:12:08 -04:00
nhmall 7d4885e2fd updated Guidebook.mn
history text
2026-04-30 20:06:20 -04:00
nhmall 5167796d13 Merge branch 'NetHack-3.7' into to500 2026-04-30 17:09:02 -04:00
nhmall c5e48213d2 Qt and c++ use a different set of CFLAGS 2026-04-30 09:37:40 -04:00
nhmall 319dd38873 simplify get_macos_uuid()
also remove a magic number 37 by replacing it with NHUUIDSZ
2026-04-30 09:27:50 -04:00
nhmall c5b258c2cf more empty bonesfile 2026-04-30 09:08:29 -04:00
nhmall 82854b7936 documentation updates
more Dungeoneers list updates for valued contributors
2026-04-30 01:39:18 -04:00
nhmall 22ab0456d0 follow-up: don't clear the bit until end of function 2026-04-30 01:28:07 -04:00
nhmall 2b985be3b9 macOS fixes 2026-04-30 01:13:40 -04:00
nhmall 6c36009ce4 case bit 2026-04-29 23:55:48 -04:00
nhmall 5035b36956 possible macOS build fix
I need someone with arm64 Mac to confirm.
2026-04-29 23:48:19 -04:00
nhmall 84a6eb5e22 avoid impossible() with inbound migrating mon 2026-04-29 23:43:01 -04:00
nhmall 702fbfa06e make the inclusion of NHUUID support the default in hints files
On macOS, the required underlying pieces are in there.

On Linux, we try to test for the presence of libuuid and
the uuid.h header files. If the tests are both successful,
we proceed to include NHUUID support.

On either macOS or Linux, NO_NHUUID=1 on the Make command
line will forcibly prevent the inclusion of the support for NHUUID.
2026-04-29 21:48:52 -04:00
nhmall 1ad11d985e Merge branch 'NetHack-3.7' into to500 2026-04-29 16:54:31 -04:00
nhmall 30787e468f Merge branch 'NetHack-3.7' into to500 2026-04-29 15:12:08 -04:00
nhmall cc00eca915 documentation updates
Dungeoneers list updates

Michael Meyer (aka entrez on GitHub) provided a large number
of fixes, updates and suggestions for the next upcoming release.
2026-04-29 14:58:03 -04:00
nhmall 6d8d1b2044 documentation updates
Dungeoneers list updates

Ingo Paschke provided Amiga updates to get the port working
for the release to follow 3.6.7. He used the gcc-15.2 branch
of bebbo's Amiga toolchain on Linux.

G. Branden Robinson contributed several updates and suggestions to
help ensure that the *roff documentation production remains viable.
2026-04-29 14:40:33 -04:00
nhmall 1b28d5e261 update tested versions of Visual Studio 2026-04-29 2026-04-29 12:35:33 -04:00
nhmall ce5459884a Merge branch 'NetHack-3.7' into to500 2026-04-29 09:21:48 -04:00
nhmall 662bd9828d Merge branch 'NetHack-3.7' into to500 2026-04-28 17:34:03 -04:00
nhmall dafa24b742 stray tabs 2026-04-28 17:31:21 -04:00
nhmall 4b85aff707 updated doc/fixes3-6-7.txt 2026-04-28 16:59:54 -04:00
nhmall 25c8528a79 3.7 -> 5.0 in DEVEL Porting 2026-04-28 16:46:01 -04:00
nhmall bcdebdb903 Merge branch 'NetHack-3.7' into to500 2026-04-28 16:05:26 -04:00
nhmall ee55f125a0 follow-up bit for consoletty.c
Limit the #ifdef INSURANCE range to only the function call
that requires it.
2026-04-28 16:03:04 -04:00
nhmall dfb3331320 Merge branch 'NetHack-3.7' into to500 2026-04-28 12:59:24 -04:00
nhmall 00053eaa3e Merge branch 'NetHack-3.7' into to500 2026-04-28 12:23:21 -04:00
nhmall 26e6775591 more 3.7 to 5.0 in win files 2026-04-28 12:22:51 -04:00
nhmall b2c52b6de2 follow-up bit for Qt idlecheckpoint 2026-04-28 12:14:01 -04:00
nhmall 845a9a7b9c a first try at a Qt idlecheckpoint implementation 2026-04-28 12:09:55 -04:00
nhmall 3cc2d072b6 Merge branch 'NetHack-3.7' into to500 2026-04-28 09:04:38 -04:00
nhmall f6761c7d22 fix an impossible() on pick-up from stomach 2026-04-28 01:54:33 -04:00
nhmall a090ba90a1 add option idlecheckpoint
New experimental option

This requires platform support to be useful. Currently an
implementation for Windows TTY console is included.

A Unix TTY implementation should be achievable I would think,
but I haven't pursued that, at least not yet (contributions welcome).
I'm not sure whether Qt or X11 interfaces offer a similar
timeout capability..

How it works:

When idlecheckpoint in on, if the wait for a new input is idle for
10 seconds (length of time to waite is controlled by
IDLECHECKPOINT_WAIT_TIME #define in hack.h), save_currentstate() is
called to bring everything up-to-date should a hangup or crash occur.
The input wait then continues/resumes.

The save_currentstate() call is only executed once per input request.
2026-04-27 19:22:04 -04:00
nhmall 3dbdeb7596 Merge branch 'NetHack-3.7' into to500 2026-04-27 15:03:53 -04:00
nhmall b7f66f9723 fix an issue with internal recover (Windows) 2026-04-27 14:50:01 -04:00
nhmall 291972d038 wizmode wizshowuuid to view the game's NHUUID 2026-04-26 22:58:26 -04:00
nhmall 118c317f63 Merge branch 'NetHack-3.7' into to500 2026-04-26 22:33:23 -04:00
nhmall 05b02c7b9b use newer Windows file routines on bones
Also correct a double-open bug that resulted from
earlier code removal.
2026-04-26 22:31:52 -04:00
nhmall a396ad1033 force new txt files in doc 2026-04-26 13:29:30 -04:00
nhmall 97f8ad10b4 more updates 2026-04-26 13:21:18 -04:00
nhmall 45f4c697a7 miscellaneous 2026-04-26 12:54:44 -04:00
nhmall 0e10f82856 update sys win 2026-04-26 12:42:38 -04:00
nhmall d6f8241ac1 update dat src include... 2026-04-26 12:34:02 -04:00
nhmall 11ae226eeb some dat updates 2026-04-26 12:13:14 -04:00
nhmall 89a54b8370 update .gitattributes 2026-04-26 11:58:47 -04:00
nhmall 74e2062063 README 1st cut 2026-04-26 11:51:02 -04:00
nhmall 84e76bbbcb README-hints bit 2026-04-26 11:13:03 -04:00
nhmall 3cb7bfc0b3 more sys 2026-04-26 11:08:10 -04:00
nhmall ab730b70da revert an external URL change 2026-04-26 11:04:33 -04:00
nhmall 8d1e6b054c Install.dos bit 2026-04-26 10:57:31 -04:00
nhmall d7a6b3085e sys files 2026-04-26 10:47:48 -04:00
nhmall a6cdb6aefd change sys/unix bits and doc 2026-04-26 10:41:11 -04:00
nhmall d5d76f0f14 doc util 2026-04-26 10:10:05 -04:00
nhmall 2a6e7c47ec leave outdated files as 3.6; more to 5.0 2026-04-26 09:29:50 -04:00
nhmall 97b6fad509 "NetHack 3.7" to "NetHack 5.0" in doc include src sys win 2026-04-26 09:25:42 -04:00
nhmall 8ddfa958b1 HINTSVERSION 2026-04-26 09:09:14 -04:00
nhmall ae146b2c7c Merge branch 'NetHack-3.7' into to500 2026-04-26 08:57:38 -04:00
nhmall afefa38dda update a couple of documentation files 2026-04-26 08:56:11 -04:00
nhmall c25528dafe try to prevent panic encountering empty bones file 2026-04-26 08:51:33 -04:00
nhmall 99525ea7b7 hints files from .370 to .500 2026-04-26 08:15:08 -04:00
nhmall f9ccf24b0b date update 2026-04-26 07:28:04 -04:00
nhmall a3fa63f444 typo fix 2026-04-25 20:34:24 -04:00
nhmall 1d5397d35b follow-up with how-to for two Linux distros 2026-04-25 20:28:07 -04:00
nhmall b6503fa52e update README-hints 2026-04-25 20:22:12 -04:00
nhmall 5354943300 pcmain() follow-up 2026-04-25 20:15:48 -04:00
nhmall e08fdc2d1f move the stub routines from pcsys.c to pcmain.c
Fixes broken Amiga build
2026-04-25 20:08:43 -04:00
nhmall a906ed8236 another follow-up 2026-04-25 16:47:12 -04:00
nhmall 532152ffc0 macOS follow-up 2026-04-25 16:41:16 -04:00
nhmall 98308a8a7d thinko while looking into macOS 2026-04-25 16:19:24 -04:00
nhmall 89c7435b7a attempt macOS fix 2026-04-25 15:57:36 -04:00
nhmall 4cf78d8f31 add macuuid.m 2026-04-25 15:44:53 -04:00
nhmall b9a46107ef fix up some odd indentation in mcastu.c 2026-04-25 15:05:08 -04:00
nhmall 309afb2eb2 add support for a unique game identifier
A 37 character field for holding a unique identifier is added
to the save file, as well as to an ancestor field in bones files.

Since it requires installation of libuuid package on Linux,
it requires an exlicit WANT_NHUUID=1 on the Make command line there.
Without the libuuid support, the saved nhuuid is empty, which should
be harmless.

This also moves the save and restore of gm.moves higher up so that it
already has a value the first time it is used against a relative saved
timestamp.

Invalidates savefiles and bones files due to new fields.

I need to get this committed before I can test out the macOS portion,
so there may be some build issues there briefly (hopefully), and
follow-up commits to resolve them.

Increments EDITLEVEL.
2026-04-25 14:48:49 -04:00
nhmall 5b66ba4c99 change gy.youmonst
Add a pointer to struct you, and put umonst there. Eliminate
the youmonst struct in gy.

The naming convention better matches the other u related fields,
and u.umonst has the same level of indirection as other monst pointers.

The u.umonst pointer is cleared prior to saving the parent u (struct you),
and u.umonst is reestablished upon restore.

Invalidates existing saves and bones due to the presence of the added
pointer field in struct you.
2026-04-25 14:41:39 -04:00
nhmall 80c08334ab yet another Windows follow-up 2026-04-24 22:02:15 -04:00
nhmall 36df2315c9 another Windows console follow-up 2026-04-24 21:58:33 -04:00
nhmall 8982addb9d revert one Windows change
Windows stores things a bit differently.
Use a static function in consoletty.c to preserve that behavior,
but still utilize the core colortable[] array.
2026-04-24 21:44:48 -04:00
nhmall 15a9acbefb more colortable[] updates
declare colortable[] const and no longer static so it can be shared
by code in window ports..

get rid of the Windows console port rgbtable and use the
core colortable[] instead.

utilize function colortable_to_int32() in Windows console instead
of the rgbtable_to_long() in the Windows port.

delete the Windows rgbtable_to_long() function.
2026-04-24 21:15:48 -04:00
nhmall 88a47cc7b6 colortable[] formatting
remove unused hexval field (show it in a comment)

The rgb values should be the same as they were
previously, just expressed with hex values on the
table initialization.
2026-04-24 20:13:01 -04:00
nhmall b3d9ab5183 revisit the "Welcome back" message
Also takes helm into consideration now

Closes #537
2026-04-24 11:14:53 -04:00
nhmall bad3e02246 follow-up comment bit 2026-04-23 17:31:20 -04:00
nhmall 1556aec451 formatting (line length) bit 2026-04-23 15:28:20 -04:00
nhmall 93ab8405d8 some further startup, option processing bits 2026-04-23 14:31:43 -04:00
nhmall 965e1bf99d make program_state initialization a discrete step
Having it rolled into decl_globals_init() was
causing some early options to misbehave because
those early options were trying to use program_state
fields to determine their behavior, but decl_globals_init()
was resetting the program_state fields that were being used
to do that.
2026-04-22 11:15:19 -04:00
nhmall 0ef54e364e more thitu() and Half_physical_damage
As commented in:
https://github.com/NetHack/NetHack/issues/1459#issuecomment-4280354364

This also fixes a minor typo in the related doc/fixes3-7-0.txt paragraph.
2026-04-21 05:40:52 -04:00
nhmall 32acb80174 resolve some valid warnings on Windows
../sys/windows/windmain.c:226:12: warning: address of array 'gc.chosen_windowtype' will always
      evaluate to 'true' [-Wpointer-bool-conversion]
  226 |     if (gc.chosen_windowtype && *gc.chosen_windowtype)

../sys/windows/consoletty.c:873:27: warning: address of array 'back->utf8str' will always evaluate
      to 'true' [-Wpointer-bool-conversion]
  873 |                 if (back->utf8str && front->utf8str
      |                     ~~~~~~^~~~~~~ ~~
../sys/windows/consoletty.c:873:45: warning: address of array 'front->utf8str' will always evaluate
      to 'true' [-Wpointer-bool-conversion]
  873 |                 if (back->utf8str && front->utf8str
      |                                   ~~ ~~~~~~~^~~~~~~
2026-04-21 05:13:46 -04:00
nhmall 0ca6e6f16f stray tabs 2026-04-20 21:04:22 -04:00