]> granicus.if.org Git - nethack/log
nethack
3 years agoupdate src/.gitattributes for cron-job purposes
nhmall [Thu, 3 Feb 2022 16:19:54 +0000 (11:19 -0500)]
update src/.gitattributes for cron-job purposes

3 years agoThis is cron-daily v1-Jan-26-2022. 000files updated: Files
nhw_cron [Thu, 3 Feb 2022 12:24:08 +0000 (07:24 -0500)]
This is cron-daily v1-Jan-26-2022.  000files updated: Files

3 years agorubber hose attacks
PatR [Thu, 3 Feb 2022 12:42:19 +0000 (04:42 -0800)]
rubber hose attacks

Give similar feedback for attacking with a rubber hose as for bullwhip:
the wielder "lashes" rather than "swings".

3 years agoQt: add tool tips to to extended command selector
PatR [Thu, 3 Feb 2022 12:17:30 +0000 (04:17 -0800)]
Qt: add tool tips to to extended command selector

For the grid of extended commands used to pick one after typing "#",
show a command's description if the mouse hovers over its button.
For once something with Qt was actually easy.

3 years agoFiles update
PatR [Thu, 3 Feb 2022 11:29:14 +0000 (03:29 -0800)]
Files update

3 years agoupdate .gitignore
PatR [Thu, 3 Feb 2022 08:27:43 +0000 (00:27 -0800)]
update .gitignore

Ignore the new timestamp files src/moc.qt5 and src/moc.qt6.  They
probably ought to be renamed Qt*.moc-t but I haven't done that.

Also put back vis_tab.* in case someone checks out 3.6 and builds
that, then checks out 3.7 without doing 'make spotless' first.

3 years agoremove some duplicated code in monst.c
nhmall [Thu, 3 Feb 2022 02:26:01 +0000 (21:26 -0500)]
remove some duplicated code in monst.c

3 years agostatic keyword on prototype, but function missing it
nhmall [Wed, 2 Feb 2022 20:33:49 +0000 (15:33 -0500)]
static keyword on prototype, but function missing it

error 28 in line 4090 of "invent.c": redeclaration of var <adjust_ok> with new storage-class
error 28 in line 4100 of "invent.c": redeclaration of var <adjust_gold_ok> with new storage-class
error 28 in line 610 of "mdlib.c": redeclaration of var <count_and_validate_winopts> with new storage-class
error 28 in line 3846 of "options.c": redeclaration of var <pfxfn_cond_> with new storage-class
error 28 in line 3886 of "options.c": redeclaration of var <pfxfn_font> with new storage-class
error 28 in line 5307 of "options.c": redeclaration of var <determine_ambiguities> with new storage-class
error 28 in line 5343 of "options.c": redeclaration of var <length_without_val> with new storage-class
error 28 in line 6853 of "options.c": redeclaration of var <illegal_menu_cmd_key> with new storage-class
error 28 in line 7708 of "options.c": redeclaration of var <count_apes> with new storage-class
error 28 in line 2686 of "pickup.c": redeclaration of var <stash_ok> with new storage-class
error 28 in line 1008 of "read.c": redeclaration of var <can_center_cloud> with new storage-class
error 28 in line 31 of "rnd.c": redeclaration of var <whichrng> with new storage-class

3 years agofixes entry for pull request #665 - mplayer chat
PatR [Wed, 2 Feb 2022 19:58:12 +0000 (11:58 -0800)]
fixes entry for pull request #665 - mplayer chat

From entrez:  Have fake players respond to #chat via verbalize() rather
than pline() since those responses are spoken.

Closes #665

3 years agoUse verbalize for player monster speech
Michael Meyer [Wed, 2 Feb 2022 18:56:49 +0000 (13:56 -0500)]
Use verbalize for player monster speech

Attempting to chat with a player monster would inspire a witty retort,
but it was presented without quotation marks and so differed from other
types of monster speech.

3 years agoremove unintentional repeat code in outdated file
nhmall [Wed, 2 Feb 2022 15:25:40 +0000 (10:25 -0500)]
remove unintentional repeat code in outdated file

3 years agofix #K3455 - rocks vs xorns
PatR [Wed, 2 Feb 2022 13:26:03 +0000 (05:26 -0800)]
fix #K3455 - rocks vs xorns

Implement the suggestion that falling rock traps and rolling boulder
traps be harmless to xorns.  I've extended that to all missiles made
of stone (rocks, gems, boulders, a handful of other things that will
only matter if poly'd hero throws in '<' direction or is hit by stuff
scattered by an explosion).

I excluded ghosts because they would become even harder to kill and
the missile handling would need extra checks to test for blessed objs.

3 years agoThis is cron-daily v1-Jan-26-2022. 000files updated: Files
nhw_cron [Tue, 1 Feb 2022 22:24:08 +0000 (17:24 -0500)]
This is cron-daily v1-Jan-26-2022.  000files updated: Files

3 years agofollow-up to tilemap.c change
nhmall [Tue, 1 Feb 2022 22:18:44 +0000 (17:18 -0500)]
follow-up to tilemap.c change

3 years agotwo minor core changes for hypothetical Amiga cross port
nhmall [Tue, 1 Feb 2022 22:11:35 +0000 (17:11 -0500)]
two minor core changes for hypothetical Amiga cross port

The tilemap change provides three variables that used to be
uppercase compile macros in the past, and Amiga (and other ports?) used
them.

The other change just uncomments the header file include.

3 years agoMerge branch 'amiga' into NetHack-3.7
nhmall [Tue, 1 Feb 2022 22:01:40 +0000 (17:01 -0500)]
Merge branch 'amiga' into NetHack-3.7

3 years agoQt 5 vs 6 'moc'
PatR [Tue, 1 Feb 2022 21:50:12 +0000 (13:50 -0800)]
Qt 5 vs 6 'moc'

This is an attempt to address the issue of switching from Qt 5 to
Qt 6 or vice versa on Unix without running 'make spotless'.  Various
*.h files (but not all of them) in win/Qt/ are run through a program
called 'moc' to create new files *.moc that are included by *.cpp.
The problem is that the constructed files use the same names for Qt
5 or 6 but their contents apparently aren't compatible.  This adds
rules (specific to GNU make) that use a pair of timestamp files to
track which version of moc made src/*.moc and to destroy them when
switching Qt versions in order to force their re-creation.

As it stands, a hints file which includes hints/include/compiler.370
is now required in order to build the Qt interface with the Unix
Makefiles.  There's no change for platforms that don't use those and
I've no idea whether something comparable could be done for macOS
Xcode IDE.

The first time make is run with WANT_WIN_QT=1 after this is in place,
all the .moc files will be rebuilt and the subset of .cpp files which
include them will be recompiled.  After that, the .moc files will be
rebuilt as needed--and only as needed--just like any other constructed
files.

3 years agolast known Amiga cross-compile -> outdated
nhmall [Tue, 1 Feb 2022 21:43:39 +0000 (16:43 -0500)]
last known Amiga cross-compile -> outdated

Place the last known Amiga cross-compile effort into the outdated folder
tree.

This shell script was meant to be run from the top of the NetHack tree:
    outdated/sys/unix/cross-amiga.sh
It attempts two things:
1. obtain the source-code for the Amiga cross compiler and build it
   from scratch. Warning: it pulls a number of the required packages
   from the internet and installs them. (Linux was tested, but the macOS
   usage never was).
2. move the outdated hints file and hints include files for Amiga
   into the live tree for someone attempting to resurrect an Amiga port.
   It doesn't tinker with any of the files needed for the NetHack-3.7
   work-in-progess for other platforms.

Once the shell script completes those things, the cross-compile build
steps would be:
  i) cd sys/unix ; sh setup.sh hints/cross-amiga ; cd ../..
 ii) make CROSS_TO_AMIGA=1 all
iii) make CROSS_TO_AMIGA=1 package

3 years agosyntax in prototype
nhmall [Tue, 1 Feb 2022 18:03:41 +0000 (13:03 -0500)]
syntax in prototype

3 years agotty_raw_print_bold() again
PatR [Tue, 1 Feb 2022 02:31:34 +0000 (18:31 -0800)]
tty_raw_print_bold() again

Redo the tty handling for raw_print_bold() intended to keep it working
after exit_nhwindows().  Don't assign static addresses to nh_HI and
nh_HE in case the routine to free dynamic termcap data somehow gets
called again.

3 years agotopten's so (standout) handling
PatR [Tue, 1 Feb 2022 02:20:34 +0000 (18:20 -0800)]
topten's so (standout) handling

This fixes the broken code that was using a boolean as an integer.
I didn't try to track down when it changed or what it looked like
before the change.  The intended effect is fairly straightforward;
just padding a bold line with spaces.  I've no idea why someone
deciced that that was useful though.

It also fixes something I broke six years ago:  tty_exit_nhwindows()
releases the termcap data needed for turning bold on and off, so
raw_print_bold() used by topten() stopped working on tty then.

Not fixed:  the code in really_done() for dealing with topten() vs
the 'toptenwin' option really ought to be redone.

3 years agosome warnings with clang version 13.0.0-9
nhmall [Mon, 31 Jan 2022 20:11:05 +0000 (15:11 -0500)]
some warnings with clang version 13.0.0-9

---------------------
win/curses/cursstat.c:

../win/curses/cursstat.c:301:9: warning: variable 'height' set but not used [-Wunused-but-set-variable]
        height, width, w, xtra, clen, x, y, t, ex, ey,
        ^
1 warning generated.

---------------------
win/Qt/qt_menu.cpp:

../win/Qt/qt_menu.cpp:1123:9: warning: variable 'h' set but not used [-Wunused-but-set-variable]
    int h=0;
        ^
1 warning generated.

---------------------
/win/Qt/qt_yndlg.cpp:

../win/Qt/qt_yndlg.cpp:170:6: warning: variable 'x' set but not used [-Wunused-but-set-variable]
        int x=margin, y=extra+margin;
            ^
../win/Qt/qt_yndlg.cpp:170:16: warning: variable 'y' set but not used [-Wunused-but-set-variable]
        int x=margin, y=extra+margin;
                      ^
2 warnings generated.

Commenting out the x and y references, then leads to the following additional warnings,
so comment those out too:

../win/Qt/qt_yndlg.cpp:167:12: warning: unused variable 'margin' [-Wunused-variable]
        const int margin=8;
                  ^
../win/Qt/qt_yndlg.cpp:168:12: warning: unused variable 'gutter' [-Wunused-variable]
        const int gutter=8;
                  ^
../win/Qt/qt_yndlg.cpp:169:12: warning: unused variable 'extra' [-Wunused-variable]
        const int extra=fontMetrics().height(); // Extra for group
                  ^
3 warnings generated.

---------------------

3 years agoFix fall depth from Castle to the Valley
Pasi Kallinen [Mon, 31 Jan 2022 18:31:26 +0000 (20:31 +0200)]
Fix fall depth from Castle to the Valley

3 years agoCovetous monsters will teleport to downstairs or upstairs
Pasi Kallinen [Mon, 31 Jan 2022 17:52:30 +0000 (19:52 +0200)]
Covetous monsters will teleport to downstairs or upstairs

I accidentally swapped the covetous monsters teleport to stairs to heal
but instead of changing it back like it was, now make those monsters
teleport to either upstairs or downstairs - some of them will go up,
others go down.

3 years agoStinking clouds block line of sight
Pasi Kallinen [Mon, 31 Jan 2022 17:00:15 +0000 (19:00 +0200)]
Stinking clouds block line of sight

... you will also get a message when a seen stinking cloud
or the one surrounding the hero dissipates.

Original feature comes from Fourk, but this version (with some
minor changes) comes from xnethack by copperwater <aosdict@gmail.com>

3 years agocomment bit
PatR [Sun, 30 Jan 2022 21:26:49 +0000 (13:26 -0800)]
comment bit

3 years agomore CI mingw tinkering
nhmall [Sun, 30 Jan 2022 19:27:44 +0000 (14:27 -0500)]
more CI mingw tinkering

The default tar in the path withing the CI environment is not
the bsdtar variation of tar that comes with Windows (the one
which will extract zip files as well as tar files).

Try using powershell instead for the extraction instead.

3 years agomore ming32 build in CI
nhmall [Sun, 30 Jan 2022 13:58:49 +0000 (08:58 -0500)]
more ming32 build in CI

3 years agofake mail follow-up tidbit
nhmall [Sun, 30 Jan 2022 04:33:58 +0000 (23:33 -0500)]
fake mail follow-up tidbit

3 years agoThis is cron-daily v1-Jan-26-2022. 000files updated: Files
nhw_cron [Sun, 30 Jan 2022 04:24:07 +0000 (23:24 -0500)]
This is cron-daily v1-Jan-26-2022.  000files updated: Files

3 years agoyet more fixes*.* rename
nhmall [Sun, 30 Jan 2022 03:57:22 +0000 (22:57 -0500)]
yet more fixes*.* rename

3 years agorework the fake mail readmail() routine
nhmall [Sun, 30 Jan 2022 03:32:40 +0000 (22:32 -0500)]
rework the fake mail readmail() routine

Remove the dynamic memory allocation.

3 years agoensure MSYSTEM matches mingw tools used in CI
nhmall [Sun, 30 Jan 2022 01:41:49 +0000 (20:41 -0500)]
ensure MSYSTEM matches mingw tools used in CI

3 years agoback out one of the pr624 changes
nhmall [Sun, 30 Jan 2022 01:32:30 +0000 (20:32 -0500)]
back out one of the pr624 changes

This one caused a build failure on a cross-compile.

3 years agoThis is cron-daily v1-Jan-26-2022. 000files updated: Files
nhw_cron [Sat, 29 Jan 2022 23:24:07 +0000 (18:24 -0500)]
This is cron-daily v1-Jan-26-2022.  000files updated: Files

3 years agoupdate .gitattributes for two windows folders
nhmall [Sat, 29 Jan 2022 23:16:07 +0000 (18:16 -0500)]
update .gitattributes for two windows folders

3 years agomore fixes*.* rename
PatR [Sat, 29 Jan 2022 23:00:49 +0000 (15:00 -0800)]
more fixes*.* rename

nethack 3.0, nethack 2.2, and hack 1.0 did not use a three component
version numbering scheme so their corresponding fixes files shouldn't
do so either.  Change those from fixesX-Y-0.txt to fixesX-Y--.txt.

3 years agoThis is cron-daily v1-Jan-26-2022. 000files updated: Files
nhw_cron [Sat, 29 Jan 2022 22:24:08 +0000 (17:24 -0500)]
This is cron-daily v1-Jan-26-2022.  000files updated: Files

3 years agobuild doc updates and windows Makefile updates
nhmall [Sat, 29 Jan 2022 22:29:51 +0000 (17:29 -0500)]
build doc updates and windows Makefile updates

3 years agorationalize extensions in doc directory
nhkeni [Sat, 29 Jan 2022 21:28:06 +0000 (16:28 -0500)]
rationalize extensions in doc directory
    rename text files to have .txt extension, etc
    update references to changed filenames

3 years agoenable NH_DATESUB for all .6 files
nhkeni [Sat, 29 Jan 2022 21:09:26 +0000 (16:09 -0500)]
enable NH_DATESUB for all .6 files

3 years agoreformat dat/hh
PatR [Sat, 29 Jan 2022 20:26:22 +0000 (12:26 -0800)]
reformat dat/hh

For
 key name description
reduce the width of the first column from 8 spaces to 6 and increase
the width of the second column from 8 spaces to 10 so that fewer lines
have misaligned third column caused by long name.

Also a small amount of extra verbosity, mostly for I and A/P/R/T/W.

3 years agomove a file that is no longer used to outdated
nhmall [Sat, 29 Jan 2022 20:00:50 +0000 (15:00 -0500)]
move a file that is no longer used to outdated

3 years agopull request #624 - Add missing const
PatR [Sat, 29 Jan 2022 19:18:26 +0000 (11:18 -0800)]
pull request #624 - Add missing const

git has me really confused right now, first requiring a merge, then
not needing any merge.  Anyway, add pull request #624 which was
unintentinoally closed and then couldn't re-opened.  Now it's been
incorporated so is intentionally closed.

Closes #624

3 years agoadd missing `const`
SHIRAKATA Kentaro [Wed, 27 Oct 2021 15:27:03 +0000 (00:27 +0900)]
add missing `const`

If you want to declare a pointer which the address pointed to is constant,
you should declare it as like `static const char *const var = "...";`.

This commit supplies missing `const` and prevents some programming
error in the future.

3 years agomingw symbols follow-up
nhmall [Sat, 29 Jan 2022 19:06:52 +0000 (14:06 -0500)]
mingw symbols follow-up

3 years agodo away with symbols.template in windows
nhmall [Sat, 29 Jan 2022 18:04:20 +0000 (13:04 -0500)]
do away with symbols.template in windows

If the one provided in the zip/distribution is newer, replace
the one used by the game after renaming the current one to
symbols.save.

If the one used by the game is newer, do nothing with it.

3 years agoupdate for mingw build within CI
nhmall [Sat, 29 Jan 2022 18:52:18 +0000 (13:52 -0500)]
update for mingw build within CI

3 years agofix a comment typo
nhmall [Sat, 29 Jan 2022 14:36:09 +0000 (09:36 -0500)]
fix a comment typo

3 years agotry to work around a mingw shortcoming within CI
nhmall [Sat, 29 Jan 2022 14:20:29 +0000 (09:20 -0500)]
try to work around a mingw shortcoming within CI

The mingw-w64 version on the CI platform is older and
is missing a sought copy of winres.h.

This attempts to work around that by having the Makefile
create a temporary copy of winres.h in the win/win32 directory
which that windres.exe is already search in. The file is
then immediately removed after windres uses it.

The contents of the temporary winres.h match the contents
of that file that is distributed with the more up-to-date msys2
distribution of mingw-w64.

It won't be known if this workaround solves all the CI issues
with the mingw build until after it is committed and observed.

3 years agoremove some outdated references to travis
nhmall [Sat, 29 Jan 2022 13:34:58 +0000 (08:34 -0500)]
remove some outdated references to travis

3 years agoSwap running and rushing modes back
Pasi Kallinen [Sat, 29 Jan 2022 10:57:58 +0000 (12:57 +0200)]
Swap running and rushing modes back

I unintentionally swapped the shift and ctrl movement keys
when redoing the movement input - change them back to how
it was earlier.

Also change the number_pad meta-key bindings, and explain
in the comments why: We can't bind shift or ctrl numbers.
Meta (aka alt-key) works with number-pad numbers when
the altmeta-option is on. There was no altmeta in 3.4.3.

Here's a table of the flags.run/g.context.run values,
from 3.4.3 and 3.7 as of this commit:

             | num_pad:0 || num_pad:1
             | 343 | 370 || 343 | 370
-------------------------------------------------
 <dir>       |  0  |  0  ||  0  |  0
 shift-<dir> |  1  |  1  ||  0  | N/A
 ctrl-<dir>  |  3  |  3  ||  0  | N/A
 meta-<dir>  | N/A | N/A || N/A |  1 (with altmeta)
 m-prefix    |  0  |  -  ||  0  |  -
 G-prefix    |  3  |  3  ||  3  |  3
 g-prefix    |  2  |  2  ||  2  |  2
 5-prefix    | N/A | N/A ||  3  |  3
-------------------------------------------------

The m-prefix in 3.7 does not set the run-value, as it can now
be used with any movement key or prefix, which will set the run value.

New input system does not lose functionality when compared to 3.4.3.
Instead, the number_pad users gain the meta-<dir> running.

This doesn't fix the issue of three badly differentiated run values.

3 years agoJan 28 cron daily updates
nhmall [Fri, 28 Jan 2022 15:57:08 +0000 (10:57 -0500)]
Jan 28 cron daily updates

3 years agoX11 issue is already fixed
Pasi Kallinen [Fri, 28 Jan 2022 15:28:54 +0000 (17:28 +0200)]
X11 issue is already fixed

3 years agocomment bit
nhmall [Fri, 28 Jan 2022 14:31:30 +0000 (09:31 -0500)]
comment bit

3 years agoMerge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into...
nhmall [Fri, 28 Jan 2022 12:50:46 +0000 (07:50 -0500)]
Merge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.7

3 years agoCI mingw build should now invoke compile via gcc
nhmall [Fri, 28 Jan 2022 12:49:41 +0000 (07:49 -0500)]
CI mingw build should now invoke compile via gcc

3 years agoCancellation explodes magical traps
Pasi Kallinen [Fri, 28 Jan 2022 06:30:08 +0000 (08:30 +0200)]
Cancellation explodes magical traps

3 years agomingw rc and lua version
nhmall [Fri, 28 Jan 2022 05:08:02 +0000 (00:08 -0500)]
mingw rc and lua version

3 years agoCI mingw build follow-up
nhmall [Fri, 28 Jan 2022 04:00:49 +0000 (23:00 -0500)]
CI mingw build follow-up

3 years agoupdate CI build for mingw
nhmall [Fri, 28 Jan 2022 03:54:03 +0000 (22:54 -0500)]
update CI build for mingw

3 years agoupdate male valkyrie tile
PatR [Fri, 28 Jan 2022 00:15:07 +0000 (16:15 -0800)]
update male valkyrie tile

Basic stereotypical rendering:  shortens the hair and adds a beard;
removes the large, thin red X.  Needed when a valkyrie puts on an
amulet of change.

3 years agoX11 topten display
PatR [Fri, 28 Jan 2022 00:11:22 +0000 (16:11 -0800)]
X11 topten display

Make the same change as was done for Qt three or so weeks ago:  force
the 'toptenwin' option on in X11_init_nhwdinows() so that scores (or
wizard mode "your score is ignored") are shown in a popup text window
instead of being sent to stdout.

3 years agoX11 ant extermination
PatR [Fri, 28 Jan 2022 00:10:11 +0000 (16:10 -0800)]
X11 ant extermination

The X11 tiled map was being initialized to the tile for giant ant.
Visible during the role/race/&c selection dialog and if you get the
"already a game in progress under your name; destroy it?" prompt.

3 years agofixes37.0 entry for pr#661
nhmall [Thu, 27 Jan 2022 23:40:53 +0000 (18:40 -0500)]
fixes37.0 entry for pr#661

Makefile.mingw32 and Makefile.mingw32.depend are intended to replace
Makefile.gcc.
To use them:

cd /d/prj/NetHack/src
cp ../sys/windows/Makefile.mingw32* .
mingw32-make -f Makefile.mingw32 clean
mingw32-make -f Makefile.mingw32 depend
mingw32-make -f Makefile.mingw32
Improvements:

Add $(USE_LUADLL) to release lua-5.4.3.dll, instead of link static
lua.lib into .exe files.
Add windres "--target" option, to fix the NetHackW.exe startup problem.
Add "-s" option to $(LDFLAGS) in release mode, to make exe/dll smaller.
Add $(CLEAN_DIR) and $(CLEAN_FILE) to track what to clean.
Remove *.tag, but use "order-only prerequisites" to make directory
before any '.o' is built.
Use make variables and functions to improve readability.
Each project has its own directory to hold object files, to fix the
interference problem between different projects, like NetHack.exe object
files were built with "-DTILES".
Add "-mconsole" option when linking NetHack.exe, to fix that sometimes
GetStdHandle returned with invalid handle error.
Add ".PHONY" statements.
Use "gcc -E -MM -MT" to implement semi-auto "Prerequisites Generating".

3 years agoSome improvements in Makefile.mingw32.depend
Feiyun Wang [Thu, 27 Jan 2022 10:54:22 +0000 (18:54 +0800)]
Some improvements in Makefile.mingw32.depend
- Change $(cce) to output .d file prerequisite too, the same as .o
- Replace $(CLEAN_FILE) handling w/ "clean: cleandep", for more encapsulation

3 years agoremove sys/windows/Makefile.gcc
nhmall [Thu, 27 Jan 2022 23:34:23 +0000 (18:34 -0500)]
remove sys/windows/Makefile.gcc

It has been superseded by sys/windows/Makefile.mingw32

3 years agoAdd Makefile.mingw32 and Makefile.mingw32.depend
Feiyun Wang [Wed, 19 Jan 2022 19:23:06 +0000 (03:23 +0800)]
Add Makefile.mingw32 and Makefile.mingw32.depend

3 years agoMake WinMain() to call mingw_main() instead of main() for mingw32 version.
Feiyun Wang [Tue, 25 Jan 2022 02:19:37 +0000 (10:19 +0800)]
Make WinMain() to call mingw_main() instead of main() for mingw32 version.

3 years agoFix panic "Unexpected DpiAwareness state" in Windows 10 for mingw32 version.
Feiyun Wang [Tue, 25 Jan 2022 02:17:30 +0000 (10:17 +0800)]
Fix panic "Unexpected DpiAwareness state" in Windows 10 for mingw32 version.

3 years agoFix mingw32 building errors.
Feiyun Wang [Wed, 19 Jan 2022 19:26:49 +0000 (03:26 +0800)]
Fix mingw32 building errors.

3 years agoRemove DPI_AWARENESS stuff for mingw32 in win10.h
Feiyun Wang [Sun, 23 Jan 2022 12:40:41 +0000 (20:40 +0800)]
Remove DPI_AWARENESS stuff for mingw32 in win10.h

3 years agoutilize the submodules for Windows build
nhmall [Thu, 27 Jan 2022 23:30:43 +0000 (18:30 -0500)]
utilize the submodules for Windows build

3 years agosupport for build with current Lua version 5.4.4
nhmall [Wed, 26 Jan 2022 22:24:59 +0000 (17:24 -0500)]
support for build with current Lua version 5.4.4

On some platforms this may require:
       re-using a sys/unix/hints file to generate updated Makefiles
       make spotless
       make fetch-lua

3 years agowindows date updates
nhmall [Thu, 27 Jan 2022 21:59:00 +0000 (16:59 -0500)]
windows date updates

Also remove reference to sys/windows/Makefile.gcc

3 years agoFalling through a hole or trap door will cause damage
Pasi Kallinen [Tue, 25 Jan 2022 12:17:43 +0000 (14:17 +0200)]
Falling through a hole or trap door will cause damage

3 years agoX11: Fix map expose area
Pasi Kallinen [Tue, 25 Jan 2022 09:19:12 +0000 (11:19 +0200)]
X11: Fix map expose area

The stop_row and stop_col were off-by-one in some cases, leaving
black lines on the map when a window on top was closed.
Simplify the calculation by always going one row/col further,
ensuring previously covered area gets redrawn for sure.
This should not affect speed or resource usage noticeably these days.

3 years agoMindless monsters shouldn't cringe stepping on squeaky boards
Pasi Kallinen [Mon, 24 Jan 2022 21:13:00 +0000 (23:13 +0200)]
Mindless monsters shouldn't cringe stepping on squeaky boards

3 years agoFix ESC so it cancels the movement prefix commands
Pasi Kallinen [Mon, 24 Jan 2022 17:48:40 +0000 (19:48 +0200)]
Fix ESC so it cancels the movement prefix commands

My changes to turn the movement and prefix commands into
extended commands broke this.

3 years agoDon't stop running next to a peaceful monster
Pasi Kallinen [Mon, 24 Jan 2022 16:45:54 +0000 (18:45 +0200)]
Don't stop running next to a peaceful monster

... unless the monster blocks the way.

3 years agothrottle excessive HP and En gains
PatR [Mon, 24 Jan 2022 01:18:05 +0000 (17:18 -0800)]
throttle excessive HP and En gains

The priest/cleric quest provides unlimited wraiths and a player
(not a robot with limitless patience) posting on reddit gave up
building up his character by killing them and eating the corpses
after accumulating 40K HP and 20K En.  (Or something close to that;
I can't get back to the post right now.)  His character might have
been capable of surviving decapitation or bisection.

Make it very much harder to get to 5 digits of HP or En via level
gains after reaching level 30.  If maxhp < 300, new gains will be
capped at 5 extra HP; 300..599, cap is 4; 600..899, cap is 3;
900..1199, cap is 2; and once 1200 is reached, further level gains
will only add 1 HP.  For maxen < 200, extra En is capped at 4;
200..399, cap is 3; 400..599, cap is 2; and once 600 is reached,
further gains only add 1 En.  Note: this only kicks in when gaining
levels while already at level 30.

3 years agomore 'O' tinkering
PatR [Sun, 23 Jan 2022 19:02:26 +0000 (11:02 -0800)]
more 'O' tinkering

Make the code for setting up the 'O' menu's '?' entry more compact.

Also adds 'skipinvert' flag for that entry but it doesn't do anthing
here.  I thought that it had been implemented, but aside from the
flag itself, it doesn't seem to exist.

3 years agoLua: Pass more data to room contents function
Pasi Kallinen [Sun, 23 Jan 2022 11:27:00 +0000 (13:27 +0200)]
Lua: Pass more data to room contents function

3 years agoX11: Fix map display for hypothetical huge map
Pasi Kallinen [Sat, 22 Jan 2022 23:14:20 +0000 (01:14 +0200)]
X11: Fix map display for hypothetical huge map

memsets don't work very well when xchar isn't char sized.

3 years agoFix possibly uninitialized error
Pasi Kallinen [Sat, 22 Jan 2022 19:53:15 +0000 (21:53 +0200)]
Fix possibly uninitialized error

3 years agoFix vision if xchar is defined larger than char
Pasi Kallinen [Sat, 22 Jan 2022 19:15:44 +0000 (21:15 +0200)]
Fix vision if xchar is defined larger than char

3 years agoReplace a return value with ECMD define
Pasi Kallinen [Sat, 22 Jan 2022 14:04:02 +0000 (16:04 +0200)]
Replace a return value with ECMD define

3 years agoAvoid generating monsters on boulders
Pasi Kallinen [Sat, 22 Jan 2022 13:41:14 +0000 (15:41 +0200)]
Avoid generating monsters on boulders

... unless the monster can go through walls.

3 years agoCurses: fix extended command input
Pasi Kallinen [Sat, 22 Jan 2022 12:32:50 +0000 (14:32 +0200)]
Curses: fix extended command input

The extended command input prompt was behaving in an unintended way:
Typing #a<enter> executed #adjust. Spaces in the entry prevented matching
any command. No error message was given when no command was matched.

Fix all of those, so it behaves more like the tty.

Clean up the tty, curses, and X11 windowport code, so they don't use
the extcmdlist array directly, but query with extcmds_match
and extcmds_getentry.

3 years agomore 'rest_on_space'
PatR [Sat, 22 Jan 2022 08:30:39 +0000 (00:30 -0800)]
more 'rest_on_space'

Honor any key binding for <space> when rest_on_space is Off.
Toggling it On and Off remembers the key binding if there is one.
So if the RC file has BIND=\32:attributes, <space> will run #wait
when rest_on_space is On and run #attributes when it's Off.

3 years agofix rest_on_space
PatR [Fri, 21 Jan 2022 23:51:05 +0000 (15:51 -0800)]
fix rest_on_space

When rest_on_space is On, assign same function as for #wait to the
<space> key.  When Off, set that key to Null instead.  Binding some
other command to <space> when rest_on_space is Off doesn't work but
I would classify that as something to be discouraged anyway.

3 years agoautodig '>'
PatR [Fri, 21 Jan 2022 22:27:21 +0000 (14:27 -0800)]
autodig '>'

This fixes moving in direction '>' while wielding a pick-axe with
the 'autodig' option On.  Attempting to dig assumed size-to-side
activity because u.dz wasn't being set, so the pick-axe was swung at
thin air instead making a pit or turning an existing pit into a hole.

dodown() and doup() should probably call set_move_cmd() instead of
manipulating u.dz directly.  But they would also need to suppress
g.move_attempting or the game says "you can't get there from here..."
after successfully digging or plunging into a pit.

3 years agoreconcile toss_up() with hmon_hitmon()
PatR [Fri, 21 Jan 2022 21:37:33 +0000 (13:37 -0800)]
reconcile toss_up() with hmon_hitmon()

Throwing silver or blessed non-weapons upward and having them fall
back onto susceptible hero's head wasn't adding the extra bonus damage
that a weapon would get in that situation.

Make hitting vulnerable monsters with blessed just-about-anything get
the 1d4 bonus that blessed weapons get for that.  Doesn't apply to
things that have their own special handing, like potions or eggs.

3 years agoblessed objects vs vulnerable creatures
PatR [Fri, 21 Jan 2022 21:19:57 +0000 (13:19 -0800)]
blessed objects vs vulnerable creatures

Collect creatures that don't like being hit by blessed objects in one
place.  No change in behavior.

3 years agowet towel tweaks
PatR [Fri, 21 Jan 2022 19:38:21 +0000 (11:38 -0800)]
wet towel tweaks

When hitting with a wielded wet towel, use "you lash <mon>" like
bullwhip.  If you continue with the towel after it has dried out,
message reverts to ordinary "you hit <mon>".

Enhance damage slightly and double the wetness bonus when target
is an iron golem.  Damage was (tmp=rnd(1..7), max(tmp,6)); now it's
rnd(1 + 1..7) for other monsters, rnd(1 + 2*(1..7)) for iron golem,
with no cap of 6 for either.

Sequencing:  defer "your towel dries" until after the lash message.

3 years agoslippery fingers
PatR [Fri, 21 Jan 2022 00:31:34 +0000 (16:31 -0800)]
slippery fingers

When the hero has the Glib condition, ^X reports "you have slippery
fingers" or "you have slippery gloves" but self-probing (either wand
or stethoscope aimed at self) was reporting "you have slippery hands."
Change self-probing to match enlightenment for this.

3 years agomore 'O' tinkering
PatR [Thu, 20 Jan 2022 20:44:43 +0000 (12:44 -0800)]
more 'O' tinkering

When picking '?', showing help, and then re-executing the 'O' menu,
let doset() perform its normal cleanup after the first pass instead
of duplicating that prior to making the second pass.

3 years ago'O' help bulletproofing
PatR [Thu, 20 Jan 2022 20:25:24 +0000 (12:25 -0800)]
'O' help bulletproofing

When using the 'O' menu, if player picks '?' plus additional choices,
it shows help and then operates on the other choices as if normal.
But for the latter, it was re-using the '?' pick as an option to
change, attempting (and silently failing) to toggle the legacy option
because it happens to be allopts['?' - 1].  It was also relying on
the list of picks being sorted in menu order rather than in player's
selection order or some other arbitrary ordering, something not
specified by the windowing specs.

Instead of looking for '?' as the first selection, process the list
normally and show the options menu help if '?' is found as a choice.
If any interface doesn't return a set of multiple picks in menu
order, the help might not be seen before prompting for compounds,
but it would be very unusual to ask for help and also try to make
changes at the same time so this doesn't seem worth worrying about.

3 years agofix 'O' typo
PatR [Thu, 20 Jan 2022 18:42:38 +0000 (10:42 -0800)]
fix 'O' typo

3 years agoadjust build procedures for added file
nhmall [Thu, 20 Jan 2022 15:37:53 +0000 (10:37 -0500)]
adjust build procedures for added file

Builds for:
   sys/msdos/Makefile.GCC - for local build on msdos itself (untested)
   sys/unix/NetHack.xcodeproj/project.pbxproj   - for Xcode build
   sys/windows/Makefile.gcc - for Windows build via Ming-w64 (untested)
   sys/windows/Makefile.msc - for visual studio nmake build
   sys/windows/vs/files.props for visual studio solution/project build