Commit Graph

16680 Commits

Author SHA1 Message Date
PatR
826dab9425 artilist.h formatting
When bulk reformatting took place prior to 3.6.0, the
\#if 0 "Palandir of Westernesse" #endif
block was left as-is, making it different from all the ones that
changed.  Reformat it manually, a shorten a couple of wide lines.
2024-03-20 11:01:36 -07:00
Pasi Kallinen
23d1657dca Add walking on traps to default paranoid_confirm 2024-03-20 19:31:09 +02:00
nhkeni
4786f82e73 Merge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.7 2024-03-20 11:56:32 -04:00
nhkeni
41bdaa348a teach mdgrep.* about NH_DEVEL_STATUS 2024-03-20 11:51:55 -04:00
nhkeni
6e43ea1635 remove use of obsolete BETA macro 2024-03-20 11:49:24 -04:00
Pasi Kallinen
e3ec21c5d3 Curses: avoid redrawing message window for each restored message 2024-03-19 19:19:16 +02:00
Pasi Kallinen
55263050df Doc: windowport putmsghistory 2024-03-19 18:59:23 +02:00
PatR
2e9d0753c8 enhance the windowcolors option
When processing
|OPTIONS=windowcolors:window-type foreground-color/background-color
parse the color values and use their names rather than the player's
raw options text.  Affects the feedback from 'm O' and is essential
for the next feature.

Accept either "gray" or "grey" where colortable[] always uses "gray"
(half a dozen or so instances), and accept dash or underscore where
colortable[] always uses dash (many instances).

Also, complain about 'window-type' if it isn't recognized as one of
menu, message, status, or text.  [For curses, the complaint gets
written to stdout and is then immediately erased as it goes into full
screen mode.  That's a general problem, not specific to this option.]
2024-03-18 13:24:21 -07:00
Pasi Kallinen
ba7af36bfc Curses: Fix message window unhighlighting
The recent change to allow setting window colors in curses
resulted in PDCurses clearing the message window background color.
2024-03-18 10:02:51 +02:00
nhmall
70ac5e6a32 duplicate detection refinement for windowcolors
Recently, a config file complaint when windowcolors was used multiple
times was fixed.

This adds a complaint when windowcolors was specified for the
same type of window multiple times thus superseding a previous
setting.
2024-03-17 14:53:29 -04:00
nhmall
b6b9bb0f27 follow-up to curses windowcolors
Make sure the windowcolors option can be specified more than
once without a config file warning.

Make the struct holding the details a little more extendable.
2024-03-17 14:18:14 -04:00
Pasi Kallinen
0700f60983 Fix segfault in curses
Curses handles menu and text windows specially; their id numbers
keep going up, so we need to check if the id is for a menu or
text window instead of directly accessing the windows array.
2024-03-17 20:09:43 +02:00
Pasi Kallinen
4030ef13a0 Curses: implement the windowcolors option
Allow changing the curses windows foreground and background colors,
for example:

OPTIONS=windowcolor:menu #8000F0/20F080 message grey/blue
2024-03-17 18:41:52 +02:00
nhkeni
9dbab97a1e depend.awk: Allow sort suppression from the command line. Idea from Pat. 2024-03-17 12:17:41 -04:00
nhmall
118a82c9a0 staticfn bit in sounds.c 2024-03-16 20:45:25 -04:00
nhkeni
0227a2e0bf hints/macOS.370: remove testing code 2024-03-16 19:42:42 -04:00
nhkeni
8f74c5fa57 Merge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.7 2024-03-16 16:41:43 -04:00
nhkeni
9f37ba849c code_style.txt: Document staticfn and NEARDATA. 2024-03-16 16:41:09 -04:00
nhmall
a9fd04013a remove some obsolete code from options.c 2024-03-16 15:23:47 -04:00
nhmall
295d6e257c used, unused variables
some variables marked as unused, are now actually used
some unused variables are eliminated or commented out
2024-03-16 12:53:58 -04:00
Pasi Kallinen
cad4d87101 wishtest fix
left-over bit from testing
2024-03-16 17:09:54 +02:00
Pasi Kallinen
9d97835686 Minor wishing alias improvement
Previously when wishing for "ring of protection from shape shifters",
you got a random ring instead of the protection from shape changers,
because the string matching alias was "protection from shape shifters"
without the object class.  Now, we'll check if the wish matched any
object class, but not existing object or alias, and try matching
the aliases again, but only those of the already matching obj class.

Add an alias for the ring of increase accuracy: "ring of accuracy",
and tests for it.
2024-03-16 16:59:58 +02:00
nhkeni
54c3dd35ac Merge branch 'keni-staticfn' into NetHack-3.7 2024-03-16 09:38:21 -04:00
Pasi Kallinen
c91d8d9450 Curses: unnecessary window erasing
When removing a temporary (menu, text, popup) window, the code
was erasing it from memory and then refreshing the screen.
This is unnecessary, as we're refreshing all the windows anyway.
2024-03-16 13:58:28 +02:00
nhkeni
fabbb491e8 Avoid a complaint from GCC's analyzer. Patch from Pat. 2024-03-15 20:46:10 -04:00
nhmall
3b75501937 get rid of a couple of warnings if -Wassign-enum is used
symbols.c:429:7: warning: integer constant not in range of enumerated type 'enum symparse_range' [-Wassign-enum]
  429 |     { 0, 0, (const char *) 0 } /* fence post */
      |       ^
windows.c:1765:32: warning: integer constant not in range of enumerated type 'enum from_core_requests' [-Wassign-enum]
 1765 |                              { 0, 0, { NO_COLOR, ATR_NONE }}};
      |                                ^
2024-03-15 16:24:49 -04:00
nhmall
79648c6ce2 some variables not referenced in another translation unit made static
Also adds some cross-refence comments for some variables that are
referenced in another translation unit.
2024-03-15 16:00:14 -04:00
Pasi Kallinen
243f6410d2 Curses: simplify color handling
The map frame (background) colors were all over the place; the
code should be much cleaner now, and still work exactly the same
as before.

I tested this with terminals with 8, 16, and 256 COLORS.
2024-03-15 20:36:56 +02:00
nhkeni
96a74ccfbf Silence a compiler warning in cross-compile 2024-03-15 14:05:14 -04:00
Pasi Kallinen
464d0c9269 Curses: swap the grey and no-color initialization
The grey color was initialized as default foreground color,
and no-color as white.
2024-03-15 11:06:44 +02:00
nhkeni
9c0ed8ae63 NOSTATICFN for src/* 2024-03-14 17:41:51 -04:00
nhkeni
ab6d7cdc3b depend.awk: bugfix for commented out replacement text 2024-03-13 22:04:19 -04:00
nhmall
31a8b44312 fix error in copied dependencies from Makefile.src 2024-03-13 20:29:40 -04:00
nhmall
2911596c5b sys/windows/Makefile.nmake dependency update
Copy the dependencies from the tail of sys/unix/Makefile.src
and adjust them for the Windows nmake build.
2024-03-13 20:10:34 -04:00
nhmall
d80352a983 warning fix read.c
read.c:148:13: warning: suspicious concatenation of string literals in an array initialization; did you mean to separate the elements with a comma? [-Wstring-concatenation]
  147 |         "Ms. Palm's House of Negotiable Affection--A Very Reputable"
      |
      |                                                                     ,
  148 |             " House Of Disrepute",
      |             ^
read.c:147:9: note: place parentheses around the string literal to silence warning
  147 |         "Ms. Palm's House of Negotiable Affection--A Very Reputable"
      |         ^
1 warning generated.
2024-03-13 19:09:26 -04:00
PatR
9ee55d87eb fix pull request #1223 - wand of striking by monst
Pull request by elunna with assistance by entrez tried to fix up
wand of striking discovery when the wand is zapped by a monster.

The fix didn't match the intended behavior (which may or may not be
the desired behavior...), so this skips the code in the pull request.
[I can't post comments on github anymore since I declined to switch
to their 2-factor authentication.  But I can still read submissions
without logging in.]

This also tries to fix a couple of inconsistencies between zapping
by the hero versus by a monster.  If the zap "boinged" :-) due to
target's magic resistance, zap by hero didn't discover the wand but
zap by monster did.  Conversely, a zap by the hero that reached a
target and missed did discover it but one by a monster did not.

Now a zap of not-yet-discovered wand of striking by the hero which
hits, whether or not the hit gets resisted, will become discovered
provided that the spot where target is hit can be seen (the target
itself need not be), and one which misses or which can't be seen
hitting something will no longer be.

Supersedes #1223
Closes #1223
2024-03-13 13:28:05 -07:00
PatR
ff82541b74 comment typo fix... 2024-03-13 13:04:05 -07:00
PatR
2006ec6ca3 read.c bits
Add a comment to seffects_remove_curse().  Also shorten a handful of
wide lines.
2024-03-13 12:41:41 -07:00
PatR
68312f7feb magic trap uncursing vs scroll of remove curse
Reported directly to devteam:  if a magic trap gave its uncurse
effect, scroll of remove curse could become discovered.

Turns out that it would happen if hero was wielding a stack of
unholy water potions.  It didn't matter whether they were known
as water or known to be cursed or whether hero was carrying any
scrolls of remove curse.
2024-03-13 12:39:50 -07:00
nhkeni
d523041b60 zap.c as a demo for NOSTATICFN 2024-03-13 11:40:50 -04:00
nhkeni
59486fb8ad something concrete for discussion:
infrastructure for NOSTATICFN, replacing NOSTATICCORE
2024-03-13 11:39:24 -04:00
nhmall
a13b9da286 Makefile.mingw32 update
$(HLHACKLIB) was missing from the dependency list for NetHack.exe
2024-03-12 17:27:21 -04:00
nhmall
dcc6890cee hacklib comment bit 2024-03-12 16:54:49 -04:00
nhw_cron
2d3eb0da0b This is cron-daily v1-Dec-5-2024. 000files updated: Files 2024-03-12 16:53:50 -04:00
nhmall
14c139746d yet more disabled code removal 2024-03-12 16:39:23 -04:00
nhmall
629badfbd9 more code cleanup
remove disabled code from makedefs.c because it uses a function in hacklib
now.
2024-03-12 16:18:23 -04:00
nhmall
a11898bef5 some code cleanup following recent code relocations 2024-03-12 16:13:33 -04:00
nhmall
2fae2b1a25 update tested versions of Visual Studio 2024-03-12 2024-03-12 15:23:04 -04:00
PatR
6ca54852ee perm_invent initialization fix
Using
|OPTIONS=windowtype:Foo
|OPTIONS=perm_invent
or
|NETHACKOPTIONS='perm_invent,windowtype:Foo'
would enable perm_invent if interface "Foo" supported it, but using
|OPTIONS=perm_invent
|OPTIONS=windowtype:Foo
or
|NETHACKOPTIONS='windowtype:Foo,perm_invent'
or combined
|OPTIONS=perm_invent
|NETHACKOPTIONS='windowtype:Foo'
would only enable perm_invent if both "Foo" and the default interface
supported it.

Using '--windowtyp:Foo' on the command line didn't have this issue
because command line interface selection replaces the default one
before configuration file and environment options are processed.
2024-03-12 11:19:35 -07:00
nhmall
f9f9641fd4 typo fix README-hints 2024-03-12 13:02:19 -04:00