]> granicus.if.org Git - nethack/log
nethack
6 years agofix github issue #159 - eating nurse corpses
PatR [Tue, 13 Nov 2018 23:05:54 +0000 (15:05 -0800)]
fix github issue #159 - eating nurse corpses

Fixes #159

The nurse monster definition is flagged to be able to convery poison
resistance when a corpse or tin is eaten, but the post-corpse code
for nurse healed HP and cured blindness then skipped the intrinsic
handling.

6 years agoMerge branch 'NetHack-3.6.2-beta01' into win-minor
nhmall [Tue, 13 Nov 2018 18:32:01 +0000 (13:32 -0500)]
Merge branch 'NetHack-3.6.2-beta01' into win-minor

6 years agoAdjust menu item rendering based on monitor dpi.
Bart House [Tue, 13 Nov 2018 06:40:36 +0000 (22:40 -0800)]
Adjust menu item rendering based on monitor dpi.

6 years agoMerge branch 'win-minor' of https://rodney.nethack.org:20040/git/NHsource into win...
Bart House [Tue, 13 Nov 2018 05:39:05 +0000 (21:39 -0800)]
Merge branch 'win-minor' of https://rodney.nethack.org:20040/git/NHsource into win-minor

6 years agoImplemented back buffer rendering to improve fit to screen rendering
Bart House [Tue, 13 Nov 2018 05:38:32 +0000 (21:38 -0800)]
Implemented back buffer rendering to improve fit to screen rendering
quality.

6 years agoMerge branch 'win-minor' into NetHack-3.6.2-beta01
nhmall [Tue, 13 Nov 2018 04:15:13 +0000 (23:15 -0500)]
Merge branch 'win-minor' into NetHack-3.6.2-beta01

6 years agoMakefile update to reference recently added file
nhmall [Tue, 13 Nov 2018 04:10:42 +0000 (23:10 -0500)]
Makefile update to reference recently added file

6 years agoAdjust tile size to bounds of text meterics when in ascii mode.
Bart House [Tue, 13 Nov 2018 03:36:08 +0000 (19:36 -0800)]
Adjust tile size to bounds of text meterics when in ascii mode.

6 years agoStarted work to support per monitor DPI. Using DPI to scale tiles
Bart House [Tue, 13 Nov 2018 01:45:22 +0000 (17:45 -0800)]
Started work to support per monitor DPI.  Using DPI to scale tiles
appropriately.

Renamed ntassert to nhassert.  (Naming mistake caused by using ntassert
at work).

Re-ordered a few more includes to get window headers included before
nethack headers.

6 years agocomment tidbit
PatR [Mon, 12 Nov 2018 19:08:59 +0000 (11:08 -0800)]
comment tidbit

6 years agoconflicting countdowns again
PatR [Mon, 12 Nov 2018 19:02:40 +0000 (11:02 -0800)]
conflicting countdowns again

Use the make_foo() intrinsic set/reset routines instead of trying
to manipulate the intrinsics directly.  Previous patch left Dex
down by 1 if stoning caused wounded legs to be fixed, and left
delayed killer allocated if stoning cured sliming or vice versa.

6 years agoRemoving support for Visual Studio 2015 solution.
Bart House [Mon, 12 Nov 2018 17:13:51 +0000 (09:13 -0800)]
Removing support for Visual Studio 2015 solution.

6 years agoconflicting countdowns
PatR [Mon, 12 Nov 2018 10:13:32 +0000 (02:13 -0800)]
conflicting countdowns

I tried 'pick all' in the #wizintrinsics' menu and after 30 turns,
died with "poisoned by a poisoned, while vomiting".  Food poisioning
and/or terminal illness beat the other fatal conditions to the coup
de gras.  However, the final stage of vomiting sets Sick to 0 cure
food poisoning and ends up clobbering the killer reason if Sick is
due to terminal illness.  It's feasible for that to happen without
using #wizintrinsic, so this fixes that, and also a few other
combinations that seemed contradictory:
1) limbs turn to stone during Stoned countdown now cures wounded legs;
2) turn to stone (a couple of turns later) cures vomiting and sliming;
3) turning to slime during Slimed countdown cures stoning.

6 years agoEnforced the inclusion of windows headers before nethack headers.
Bart House [Mon, 12 Nov 2018 09:58:56 +0000 (01:58 -0800)]
Enforced the inclusion of windows headers before nethack headers.
Moved the code page 437 mapping table to winnt.c so that it could be
used in window and console clients.
Added check that fonts support unicode values we use from code page 437.
Use unicode to draw text if font supports it otherwise use ASCII.

6 years agoprayer vs blocked by boulder
PatR [Mon, 12 Nov 2018 00:04:45 +0000 (16:04 -0800)]
prayer vs blocked by boulder

Salvaged from an old, unfinished patch.  When checking whether the
hero is trapped by walls and solid rock, adjacent boulders are
evaluated on whether they can be pushed out of the way.  Extend that
evaluation:  (1) two boulders on a spot are pushable if there is a
pool beyond that spot, and (2) boulders can't be pushed diagonally
in Sokoban.

6 years agofix #H7065 - clairvoyance shows trap over monsters
PatR [Sun, 11 Nov 2018 22:28:54 +0000 (14:28 -0800)]
fix #H7065 - clairvoyance shows trap over monsters

and over the hero.  3.6.0's clairvoyance tried to show things in
a non-standard sequence, which was intentional but had unintended
side-effects like the disappearing monsters complained about in the
report.  To make it work as intended would have required --More--
whenever it kicked in, which is much too intrusive when it happens
every N turns rather than when explicitly casting the spell.

Redo it substantially, and give preference to monsters over objects,
objects over traps, and traps over underlying terrain like normal
vision-based display does.  It now detects all monsters within its
bounding box but shows ones which aren't directly in view as
"unseen monster" unless via spell cast at skilled or expert, or at
basic when also having intrinsic clairvoyance.

6 years agoMakefile build updates
nhmall [Sun, 11 Nov 2018 20:39:13 +0000 (15:39 -0500)]
Makefile build updates

6 years agomerge fluff
nhmall [Sun, 11 Nov 2018 15:48:08 +0000 (10:48 -0500)]
merge fluff

6 years agomerge
nhmall [Sun, 11 Nov 2018 15:29:52 +0000 (10:29 -0500)]
merge

6 years agocouple of #wizintrinsic fixes
PatR [Sun, 11 Nov 2018 02:22:38 +0000 (18:22 -0800)]
couple of #wizintrinsic fixes

When #wizinstrinsic was expanded to be able to set any timed attribute,
some that need more than just a timeout counter were left inconsistent.
1) Timed Flying wasn't blocked by levitation, and existing flight
   wasn't becoming blocked by timed levitation.  Also, eventual flight
   timeout wasn't updating the status line, so false 'Fly' condition
   remained shown until a status update happened for some other reason.
2) Setting timer for Warn_of_mon didn't set up any type of monster to
   warn about so wouldn't do anything.  This sets that to grid bug
   unless already set due to polymorph form or artifact that warns.

The end.c portion is just a bit of formatting.

6 years agoIgnore .vs hidden folders generated by visual studio 2017.
Bart House [Sat, 10 Nov 2018 20:44:41 +0000 (12:44 -0800)]
Ignore .vs hidden folders generated by visual studio 2017.

6 years agoFix crash that can occur when panic is called early.
Bart House [Sun, 11 Nov 2018 00:37:12 +0000 (16:37 -0800)]
Fix crash that can occur when panic is called early.

6 years agoRemoved the defining of WIN32CONNDEBUG for NethackW.
Bart House [Sat, 10 Nov 2018 22:38:00 +0000 (14:38 -0800)]
Removed the defining of WIN32CONNDEBUG for NethackW.
Defined NOTTYGRAPHICS for NethackW.

6 years agootransit_msg() fixes
PatR [Sat, 10 Nov 2018 09:37:23 +0000 (01:37 -0800)]
otransit_msg() fixes

Fixes #156

githib issue #156 complains that "The Excalibur falls down the stairs,"
is using poor grammar despite the fact that the usual drop message is
"You drop the +0 Excalibur."  I agree.  Change it to be "Excalibur
falls down the stairs."  (Drop message remains unchanged.)

While looking at that, I noticed that when knocking other items down
stairs, text was being appended to the formatted object name.  It was
probably safe due to the space reserved for inserting a prefix while
formatting an object's name, which becomes available for a suffix
after that name has been copied into otransit_msg()'s local buffer,
but using a separate buffer is safer.

6 years agoimpossible worm_cross non-adjacent location
PatR [Fri, 9 Nov 2018 23:43:50 +0000 (15:43 -0800)]
impossible worm_cross non-adjacent location

Attempting to mount a long worm tail could yield
\#ride -> mount_steed() -> test_move() -> worm_cross() ->
impossible("worm_cross checking for non-adjacent location").

6 years agobuild and bug fixes for USE_OLDARGS
PatR [Thu, 8 Nov 2018 23:33:03 +0000 (15:33 -0800)]
build and bug fixes for USE_OLDARGS

New:  call to panic() in impossible() used arbitrary string as a
format so was vulnerable to percent signs in that string.  (This
potentially serious problem is not limited to USE_OLDARGS.)

Old:  revised message string for impossible ("save/restore might fix
this" instead of "perhaps you'd better quit") passed wrong number of
arguments to pline() when using the clumsy VA_PASSx() mechanism (was
missing arg 0 for the fixed-arg format argument).

Old:  varargs config_error_add() in files.c wouldn't compile for
USE_OLDARGS.  Evidently no one has been impacted by that but this
fixes it anyway.  (Two problems:  prototype used FDECL() when it
should have been using VDECL(), and calls to config_error_add() in
the same file would need the VA_PASSx() stuff to force presence of
all optional args.  I moved it instead of adding the latter.)

6 years agoFix some buffer underflows
Pasi Kallinen [Thu, 8 Nov 2018 19:02:24 +0000 (21:02 +0200)]
Fix some buffer underflows

6 years agoFix memory leak in makedefs
Pasi Kallinen [Thu, 8 Nov 2018 15:38:36 +0000 (17:38 +0200)]
Fix memory leak in makedefs

6 years agoFuzz testing debug tool
Pasi Kallinen [Thu, 8 Nov 2018 13:50:53 +0000 (15:50 +0200)]
Fuzz testing debug tool

Add code to run a fuzz tester, simulating (more-or-less) random
keyboard mashing. There's no option to turn it on, you need to
set iflags.debug_fuzzer on via a debugger or something along
those lines.

6 years ago^X about armor
PatR [Wed, 7 Nov 2018 22:50:44 +0000 (14:50 -0800)]
^X about armor

Enlightenment feedback for "nudist" was added 3.5 years ago.  Ever
since, ^X has been reporting "you are not wearing any armor" when
wearing a shield without any other armor.

Since Valkyrie starts in that situation, it's very surprising that no
one ever noticed 'til now (or did notice and didn't bother to report).

6 years agofixes update for odd wording
nhmall [Wed, 7 Nov 2018 22:08:41 +0000 (17:08 -0500)]
fixes update for odd wording

6 years agofix odd wording "The boulder triggers and fills a pit"
nhmall [Wed, 7 Nov 2018 22:06:45 +0000 (17:06 -0500)]
fix odd wording "The boulder triggers and fills a pit"

6 years agoReport insanities via impossible
Pasi Kallinen [Wed, 7 Nov 2018 16:50:09 +0000 (18:50 +0200)]
Report insanities via impossible

6 years agoPrevent out of array index
Pasi Kallinen [Wed, 7 Nov 2018 16:39:00 +0000 (18:39 +0200)]
Prevent out of array index

6 years agofix broken build cause by missing semicolon
nhmall [Mon, 5 Nov 2018 20:33:02 +0000 (15:33 -0500)]
fix broken build cause by missing semicolon

6 years agoFeedback on trying to pick up stairs or altar
Pasi Kallinen [Mon, 5 Nov 2018 16:35:11 +0000 (18:35 +0200)]
Feedback on trying to pick up stairs or altar

6 years agoremoving all items via 'A' when looting container
PatR [Sun, 4 Nov 2018 06:17:49 +0000 (23:17 -0700)]
removing all items via 'A' when looting container

Followup to 'fix #148' patch:  looting a container with menustyle:Full
wasn't offering a chance to remove everything in one go.  That was due
to an error I introuduced 2.5 years ago with commit
529dad8ef15d255e00ba2d75dd9a92d5030d97f5 when I changed how the flags
passed to query_category() were being set up.  It accidentally switched
'A' from take-out to put-in but the only code to handle 'A' at that
time would take everything out (from container to inventory).

Prior to that, removing everything worked as intended and putting in
everything wasn't supported.  Now 'A - autoselect all' is a viable
choice for both in and out.

6 years agofix github issue #154 - #loot in A-autoselect all
PatR [Sun, 4 Nov 2018 00:45:31 +0000 (17:45 -0700)]
fix github issue #154 - #loot in A-autoselect all

Fixes #154

With menustyle:Full, picking 'A - autoselect all' when putting items
into a container ran code for taking things out and there wasn't any
corresponding code for putting things in.

Add some put-in-everything code.  Taking things out doesn't offer
'A - autoselect all' as a choice so the code mentioned above may now
be dead.  Taking everything out seems like something that's much more
likely to be desired than putting everything in.

6 years agoyet another ^X revision...
PatR [Sat, 3 Nov 2018 09:01:11 +0000 (02:01 -0700)]
yet another ^X revision...

Hopefully this will be the last one.  Change from a text window to
a menu so that it is possible to scroll backwards (without needing
scrollbars) via '^' and '<' keys.  End of game disclosure for
attributes still uses a single-forward-pass text window.

Also, move the recently added weapon proficiency line from the new
'basic' section to right after the "you are wielding" line at the
end of the 'status' section.

6 years agoMake Mjollnir lightning noisy
Pasi Kallinen [Fri, 2 Nov 2018 18:49:11 +0000 (20:49 +0200)]
Make Mjollnir lightning noisy

6 years ago^X again
PatR [Fri, 2 Nov 2018 07:59:01 +0000 (00:59 -0700)]
^X again

Add a new line for one last missing status field:  gold.
Also add one for proficiency with current weapon.

Move a few lines from 'characteristics' to 'background' and a few
more from 'characteristics' to new 'basics', leaving characteristics
with the six original characteristics:  Str, Con, Dec, &c.

6 years agofix #H7501 again - searching
PatR [Fri, 2 Nov 2018 07:41:33 +0000 (00:41 -0700)]
fix #H7501 again - searching

Previous change resulted in 'finding' visible monsters.

6 years agogrammar
nhmall [Fri, 2 Nov 2018 01:04:23 +0000 (21:04 -0400)]
grammar

6 years agofix #7501 - searching while blind
PatR [Fri, 2 Nov 2018 00:37:47 +0000 (17:37 -0700)]
fix #7501 - searching while blind

My "fix github issue #38 - indentation vs 'if {}'" patch, commit
d2ae45984ed9d007112e1de3aa65fc6c04773fdf, broke finding unseen
monsters via searching.  Most notable if blind, but applied to
invisible monsters too.

6 years agosingle fixes36.2 entry for special case wish/genocide since release
nhmall [Wed, 31 Oct 2018 13:11:57 +0000 (09:11 -0400)]
single fixes36.2 entry for special case wish/genocide since release

6 years agowatchmen at genocide prompt
nhmall [Wed, 31 Oct 2018 12:49:18 +0000 (08:49 -0400)]
watchmen at genocide prompt

Report stated:
type "watchmen" into a genocide prompt, it says no such creatures exist in the world
type "watchman" and it says "wiped out all watchmen"

fixes #151

6 years agotty/topl.c comment tidbit
PatR [Tue, 30 Oct 2018 21:26:40 +0000 (14:26 -0700)]
tty/topl.c comment tidbit

6 years agoX11: Fix msghistory restore segfault
Pasi Kallinen [Tue, 30 Oct 2018 15:40:22 +0000 (17:40 +0200)]
X11: Fix msghistory restore segfault

6 years agotypo fix
nhmall [Mon, 29 Oct 2018 11:28:35 +0000 (07:28 -0400)]
typo fix

6 years agofix github issue #148 - life-save while swallowed
PatR [Sun, 28 Oct 2018 23:03:42 +0000 (16:03 -0700)]
fix github issue #148 - life-save while swallowed

Life-saving was setting u.uswldtim to 0, presumably intending that
to stop the hero from being digested, but it actually resulted in
being totally digested on the swallower's next turn if the death
being short-circuited wasn't digestion.  Change life-saving to make
swallower or grabber release the hero instead of tinkering with
u.uswldtim.  In addition to rescuing the hero from digestion, it
prevents an eel which has just drowned the hero (who has survived
drowning via life-saving) from pulling him/her back into the water
on its next turn.  It will need to make another successful grab to
do that now.

While testing, I noticed that if I was polymorphed and wearing an
amulet of unchanging, life-saving didn't restore my HP-as-a-monster
and due to the recent change to force that to 0 when the hero dies,
I died again immediately after my life was saved.  So this bug was
latent in the past and became noticeable in the last couple of days.

6 years agofix #H7487 - dead with non-zero HP
PatR [Sun, 28 Oct 2018 02:55:18 +0000 (19:55 -0700)]
fix #H7487 - dead with non-zero HP

Report was for being fried by angry deity.  There are lots of deaths
that don't involve subtracting HP until it hits 0 or less; I haven't
bothered tracking down which ones don't set u.uhp to 0 before they
call done().

No effect on life-saving or declining to die except for HP:0 being
visible on the status line during their messages.

6 years agoX11 menu tweaks
PatR [Sun, 28 Oct 2018 02:26:56 +0000 (19:26 -0700)]
X11 menu tweaks

Restore handling for keystrokes on PICK_NONE menus so that scrolling
via keys works for them.  (That handling was disabled as part of the
patch to support MENUCOLORS.)

Enable [cancel] button for all menus.  (That had apparently been
grayed out for PICK_NONE menus since day 1 for X11 windowing.)

6 years agofix Guidebook.tex processing due to wrong brace used
nhmall [Sat, 27 Oct 2018 23:18:27 +0000 (19:18 -0400)]
fix Guidebook.tex processing due to wrong brace used

[36] [37] [38] [39] [40] [41] [42] [43]
! Extra }, or forgotten \endgroup.
l.4602 ``{\tt up}'' and ``(\tt down}
                                    '' set the field attributes for when the...

6 years agoX11: Remove leftover file display stuff
Pasi Kallinen [Sat, 27 Oct 2018 17:47:27 +0000 (20:47 +0300)]
X11: Remove leftover file display stuff

6 years agoX11: Reuse menu code to display files
Pasi Kallinen [Sat, 27 Oct 2018 10:51:32 +0000 (13:51 +0300)]
X11: Reuse menu code to display files

Previously the code used the ASCII Text Athena widgets for displaying
file contents. Unfortunately, the widget made it impossible to control
scrolling or pretty much anything else.

Use the menu code instead, making the file display window behave properly.

6 years agoprovide dungeon location in ^X feedback
PatR [Sat, 27 Oct 2018 10:45:18 +0000 (03:45 -0700)]
provide dungeon location in ^X feedback

Dungeon level wasn't included in ^X output, so it wasn't actually
giving all status fields and attempting to rely on it when turning
off 'status_updates' was leaving a gap in feedback for the player.
Add an extra line to the first section where character's name and
patron deity are reported, giving current location.
|You are in the Dungeons of Doom, on level 5.
or
|You are in the endgame, on the Elemental Plane of Fire.

The information is more explicit than the basic status field, but
you can already get similar information via #overview so it isn't
giving away extra info.

6 years agoanother Guidebook update - mostly NETHACKOPTIONS
PatR [Sat, 27 Oct 2018 07:42:11 +0000 (00:42 -0700)]
another Guidebook update - mostly NETHACKOPTIONS

Move some 'roff macros from Guidebook.mn to new file tmac.nh.

Header for tmac.nh is not being updated, even after explicitly adding
it to .gitattributes.  I'm not sure what I've done wrong.  (I'm using
'git nhadd doc/' here rather than explicit 'git nhadd doc/tmac.nh'.)

In Guidebook.mn, change the ``setenv NETHACKOPTIONS'' example so that
it fits within one line in Guidebook.txt.  (I looked at 3.4.3's
edition of that file and the example went not just beyond the margin
of the formatted text but beyond 80 columns, so wrapped in an ugly
fashion.)  I had previously changed 'autoquiver' to 'color' to shorten
it, now have changed '!autopickup' to '!leg' to show an example of
truncated option name as well as shorten, and also 'fruit:papaya' to
'fruit:lime' to squeeze out the last two columns needed to fit within
the text margin while retaining 'name:Blue Meanie' as requested.
Guidebook.txt shows both NETHACKOPTIONS examples with indentation
suppressed, Guidebook.ps uses normal indentation (evidently using a
narrower font, even with \f(CR (constant-width Roman) to approximate
TeX's \tt, since the indented example fits fine and looks better).

Some Guidebook.tex catchup.  I suspect that lots of bits and bobs
don't match between Guidebook.mn and Guidebook.tex these days.
Particularly quoting and variant font (italics, bold, \tt) usage.
Also the recently added box around the sample screenshot.  This
modifies the screenshot to match Guidebook.mn's, reflecting change
in status field spacing by STATUS_HILITES.

6 years agofix github issue #150 - delayed encumbrance msg
PatR [Fri, 26 Oct 2018 23:35:21 +0000 (16:35 -0700)]
fix github issue #150 - delayed encumbrance msg

Fixes #150

> A very minor one, but there are some situations where your encumbrance
> level can change, but the message (such as '`Your movements are now
> unencumbered.`') isn't given until your next move or turn, even though
> the status line updates immediately.  For example, praying while weak
> and gaining a point of strength.  Picking up or dropping items or
> interacting with containers does _not_ have this problem.

This is usually fixed on a case by case basis.  Any attempt to add
blanket encumbrance check mid-turn (when updating status, for instance)
is sure to introduce message sequencing problems.  Perhaps such a check
could be added at the end of the hero's move....

This fix handles the cases where prayer causes a change to strength:
major: fix starvation, minor: fix weak from hunger, boon: golden glow
(restore strength and satisfy hunger--probably no-ops in this regard
or would have had trouble fixed rather than receive a boon).  Directly
curing stat loss (minor: poisoned) already dealt with encumbrance.

> Possibly related to the quirk whereby polymorphing into a form with
> different speed gives you one move movement at your old speed?
> (Polymorphing into a sessile monster gives you one last move.)

Not at all related.  That movement bug affected 3.6.0 but was fixed in
3.6.1.

6 years agofix #7470 - Sting vs webs
PatR [Fri, 26 Oct 2018 22:09:48 +0000 (15:09 -0700)]
fix #7470 - Sting vs webs

When trapped in a web, trying to move while wielding Sting gives the
message "Sting cuts through the web."  In 3.6.1 and earler, that
also released you from the trap, but with 3.6.2-beta nothing happens.

It had nothing to do with the recent web spinning patch.  My change
to have being trapped block levitating and flying included replacing
a lot of direct manipulations of u.utrap with set_utrap() and
reset_utrap() in order to keep the lev/fly blocking and unblocking
localized.  Unfortunately, the old 'u.utrap = 0' when wielding Sting
while stuck in web was deleted in error at that time.

6 years agostinking cloud vs drawbridge
PatR [Thu, 25 Oct 2018 21:15:55 +0000 (14:15 -0700)]
stinking cloud vs drawbridge

While looking at something else, I noticed that newsym() was checking
for pool and lava by examining the terrain type directly rather than
using the pool and lava checks, so it would never show a gas cloud at
a closed drawbridge (the spot in front of the portcullis).  Level's
terrain at a closed drawbridge spot is DRAWBRIDGE_UP; need to look at
drawbridgemask field to figure out whether the accessible terrain at
that spot is moat or lava.

6 years agoX11: Don't hilite the help ext menu entry
Pasi Kallinen [Thu, 25 Oct 2018 12:58:19 +0000 (15:58 +0300)]
X11: Don't hilite the help ext menu entry

Both the "help" button at top and the "help" extended menu command
were hilighted by the X resources. Make the top buttons have
"btn_" prefix, so they're easily distinguished in the resources.

6 years agoX11: Make TTY status obey hilite_status
Pasi Kallinen [Wed, 24 Oct 2018 17:04:28 +0000 (20:04 +0300)]
X11: Make TTY status obey hilite_status

6 years agoX11: Move color and font structs
Pasi Kallinen [Tue, 23 Oct 2018 17:30:44 +0000 (20:30 +0300)]
X11: Move color and font structs

... so that other window types can also use them.

6 years agoX11: Adjust some colors to differentiate them
Pasi Kallinen [Tue, 23 Oct 2018 14:48:54 +0000 (17:48 +0300)]
X11: Adjust some colors to differentiate them

6 years agoX11 status display
PatR [Mon, 22 Oct 2018 22:28:19 +0000 (15:28 -0700)]
X11 status display

Flag some unused parameters and remove some unused variables.
Fix compile for !defined(TEXTCOLOR).

6 years agoX11: TTY-style status lines
Pasi Kallinen [Mon, 22 Oct 2018 18:23:12 +0000 (21:23 +0300)]
X11: TTY-style status lines

Set X resource NetHack*fancy_status: False to enable the TTY-style
status lines. Default is the fancy status.

This patch is somewhat unfinished - even though the TTY-style status
allow for status hilites, the colors don't work correctly yet.
Also changes the fancy status to use the windowport notification code.

6 years agoX11: Mouse wheel scrolling for message window
Pasi Kallinen [Sun, 21 Oct 2018 16:30:05 +0000 (19:30 +0300)]
X11: Mouse wheel scrolling for message window

6 years agoX11: save and load message history
Pasi Kallinen [Sun, 21 Oct 2018 14:26:24 +0000 (17:26 +0300)]
X11: save and load message history

6 years agoRemove "makedefs -m" and monstr.c from the Unix build.
keni [Fri, 19 Oct 2018 16:54:33 +0000 (12:54 -0400)]
Remove "makedefs -m" and monstr.c from the Unix build.

6 years agotwo more windows supporting bits
nhmall [Wed, 17 Oct 2018 23:53:06 +0000 (19:53 -0400)]
two more windows supporting bits

6 years agowindows build mods to support branch change
nhmall [Wed, 17 Oct 2018 23:30:31 +0000 (19:30 -0400)]
windows build mods to support branch change
 Changes to be committed:
modified:   sys/winnt/Makefile.gcc
modified:   sys/winnt/Makefile.msc
modified:   win/win32/vs2015/NetHack.vcxproj
modified:   win/win32/vs2015/NetHackW.vcxproj
modified:   win/win32/vs2015/files.props
modified:   win/win32/vs2017/NetHack.vcxproj
modified:   win/win32/vs2017/NetHackW.vcxproj
modified:   win/win32/vs2017/files.props

6 years agoDeprecate "makedefs -m".
keni [Wed, 17 Oct 2018 19:37:24 +0000 (15:37 -0400)]
Deprecate "makedefs -m".
mons[].difficulty takes over for monstr[]
Invoking "makedefs -m" gives a deprecation message; it is also included
in the (now mostly empty) monstr.c.
Ports should now remove "makedefs -m" from their build procedures but this
commit does not include that change.

6 years agoGuidebook.mn #extended commands
PatR [Sat, 20 Oct 2018 21:56:50 +0000 (14:56 -0700)]
Guidebook.mn #extended commands

Change the extended command section from a mixture of
|#cmd This is a short-named command.
|#command
|     This is a long-named command.
to every command having its descriptive text start on the next line
|#cmd
|     This is a short-named command.
|#command
|     This is a long-named command.
which results in a longer document but the extended commands section
is much easier to read.

No change to Guidebook.txt, where the previous command name padding
was wide enough to accomplish the same for fixed-width tty font.
There is an update to that though; a previous change omitted it.

6 years agoWINCHAIN cleanup
PatR [Sat, 20 Oct 2018 09:23:45 +0000 (02:23 -0700)]
WINCHAIN cleanup

This started out as some formatting cleanup for src/windows.c but
ended up removing calloc() from the WINCHAIN code, plus fixing a
couple of compiler complaints for win/chain/wc_trace.c.

I tried to actually run with +trace enabled and never managed to
get anything to happen.  trace_procs_init() was never called.  I've
never tried to use it before so don't know whether something which
used to work has gotten broken or I'm just doing it wrong.

6 years agoX11: Fix couple issues from recent changes
Pasi Kallinen [Sat, 20 Oct 2018 08:17:35 +0000 (11:17 +0300)]
X11: Fix couple issues from recent changes

Segfault due to arg array overflow, and a theoretical fix for
a hang on a Mac during player selection if -@ parameter was given
on the command line.

6 years agounitm.c formatting
PatR [Sat, 20 Oct 2018 07:43:16 +0000 (00:43 -0700)]
unitm.c formatting

Some inconsequential stuff I've extracted out of a patch I've stalled
out on.

6 years agoFiles merge cleanup
nhmall [Fri, 19 Oct 2018 22:13:26 +0000 (18:13 -0400)]
Files merge cleanup

6 years agofix numerical ordering in Files
keni [Fri, 19 Oct 2018 14:45:32 +0000 (10:45 -0400)]
fix numerical ordering in Files

6 years agowishing bit
PatR [Fri, 19 Oct 2018 08:47:29 +0000 (01:47 -0700)]
wishing bit

Allow wishing for "cookie" or "pie" to succeed since we have items
those can match.

Unrelated:  allow ^G of "genie" for similar reason.

6 years agoUpdate Files. Add missing files and missing .lev section.
keni [Sat, 29 Sep 2018 20:43:39 +0000 (16:43 -0400)]
Update Files.  Add missing files and missing .lev section.

6 years agoRevert "fix github issue #94 - files missing from Files"
nhmall [Fri, 19 Oct 2018 01:43:36 +0000 (21:43 -0400)]
Revert "fix github issue #94 - files missing from Files"

This reverts commit ec19b52d8d760c89e70112bc0b61587054df1f64.

6 years agofix github issue #94 - files missing from Files
PatR [Fri, 19 Oct 2018 00:54:30 +0000 (17:54 -0700)]
fix github issue #94 - files missing from Files

Fixes #94

I thought maintenance of this was going to be automated?
Add missing special levels:  bigroom6..10.lev and medusa3..4.lev
in the generated at build time section of dat/.

6 years agofix github issue #38 - indentation vs `if {}'
PatR [Fri, 19 Oct 2018 00:15:42 +0000 (17:15 -0700)]
fix github issue #38 - indentation vs `if {}'

Fixes #38

In 3.6.1, some code in mfind0(detect.c) was mis-indented in a way
which suggested that the grouping within braces might not be what was
intended, and that was right--there was a pair of braces missing when
compared with older versions of the code involved.  A previous patch
(post-#38) had changed the indentation to match the surrounding braces
without really addressing the issue.  But it turned out not to make
any difference either way since mundetected is only used by hiders
and eels.  This reorganizes the relevant code to make it simpler to
understand, I hope.

6 years agoGuidebook.tex quoting
PatR [Thu, 18 Oct 2018 21:37:41 +0000 (14:37 -0700)]
Guidebook.tex quoting

Change instances of 'C' and ``C'' to `C'.
Change a few double quotes, "..." to ``...''.
Remove some trailing spaces (for Guidebook.mn too).

One tweak in wording:  for #offer, ``use `m' to skip items on altar''
followed by ``you'll need to find an altar'' sounded strange.  Move the
``skip items on altar'' sentence after the ``need an altar'' sentence.

6 years agoX11 compile bit
PatR [Thu, 18 Oct 2018 19:57:07 +0000 (12:57 -0700)]
X11 compile bit

6 years agoX11: Add key and mouse scrolling to extended command menu
Pasi Kallinen [Thu, 18 Oct 2018 18:33:17 +0000 (21:33 +0300)]
X11: Add key and mouse scrolling to extended command menu

6 years agoX11: Handle the -@ parameter
Pasi Kallinen [Thu, 18 Oct 2018 16:29:42 +0000 (19:29 +0300)]
X11: Handle the -@ parameter

6 years agoX11: Obey menu movement keys
Pasi Kallinen [Thu, 18 Oct 2018 15:39:27 +0000 (18:39 +0300)]
X11: Obey menu movement keys

6 years agoX11: Revert finding scrollbars in same window
Pasi Kallinen [Thu, 18 Oct 2018 14:19:26 +0000 (17:19 +0300)]
X11: Revert finding scrollbars in same window

Apparently this doesn't work, for some reason every widget reports
a different window, even when they are in the same window ...
Maybe widgets inside and outside a viewport are technically
in different windows?

6 years agoX11 winmenu.c housekeeping
PatR [Wed, 17 Oct 2018 21:43:44 +0000 (14:43 -0700)]
X11 winmenu.c housekeeping

Fix a couple of compiler complaints, and move some new local functions
out of the region of the file labeled `global functions'.

6 years agoGuidebook.txt update
PatR [Wed, 17 Oct 2018 12:25:51 +0000 (05:25 -0700)]
Guidebook.txt update

6 years agoGuidebook.mn single quotes
PatR [Wed, 17 Oct 2018 12:22:36 +0000 (05:22 -0700)]
Guidebook.mn single quotes

Replace `C' and 'C' with \(oqC\(cq (open and close single quote).
For plain text output, the new form generates the first form.  Most
single quotes were using that, but there was quite a bit of C-style
char quoting that was somewhat inconsisent.

There are several text changes too, mostly small.  The few I can
remember are
  replacing several ``#twoweapon'' with `X';
  pets:  change 'cat' to 'kitten' and mention that horses are
    vegetartian where it claims that pets usually feed themselves;
  NETHACKOPTIONS:  add `bash' to the shells mentioned,
    describe `NETHACKOPTIONS=@filename' better,
    shorten the example (it's still too long for Guidebook.txt);
  Configuring Status Hilites:  expand the `behavior' descriptions
    to mention the value limits for percentage and absolute, and
    include post-3.6.1 '<=' and '>=' for them,
    add omitted fields `hunger' and `title' to text match.

I also changed a bunch of examples in the option configuation section
from bold font to constant-width Roman which more closely resembles
the \tt font in TeX.  Probably a whole bunch of other bold items
ought to follow suit.

Issues:
  title for section 9.3 (NETHACKOPTIONS) is too close to the sample
    config file at the end of section 9.2;
  as mentioned above, the sample ``setenv NETHACKOPTIONS foo'' is
    much too long for Guidebook.txt, and ``NETHACKOPTIONS=foo'' is
    slightly too long; they're ok in Guidebook.ps (assuming default
    page size);
  does `WIZKIT=~/wizkit.txt' actually work?  That's the example shown.

6 years agoa few Guidebook tweaks
PatR [Tue, 16 Oct 2018 22:18:09 +0000 (15:18 -0700)]
a few Guidebook tweaks

I started out updating Guidebook.mn to use \(oq and \(cq for single
quotes but ended up including some new text.  I've separated that
part out (there are a few instances of altered quoting in the midst
of it--the separation wasn't 100%) to commit separately.

Add verbiage to "choosing race" and several commands:  f, s, S, t,
w, and ^X.

Change `E-' and `w-' to use minus sign instead of hyphen.  The TeX
edition uses \tt font for those which has the same effect of making
those dashes be more prominent.

Fix typo/thinko in `IX':  Guidebook.mn and Guidebook.txt said that
displayed inventory items whose bless/curse state is "known".
Guidebook.tex had it right, "unknown".

6 years agoX11: Find scrollbars in same window
Pasi Kallinen [Tue, 16 Oct 2018 17:44:52 +0000 (20:44 +0300)]
X11: Find scrollbars in same window

Adding scroll() translations to a window with no scrollbars
scrolled the main window message area.

6 years agoX11: Add geometry handler on perm_invent win only
Pasi Kallinen [Tue, 16 Oct 2018 16:21:46 +0000 (19:21 +0300)]
X11: Add geometry handler on perm_invent win only

6 years agoX11: Remember perm_invent window geometry
Pasi Kallinen [Tue, 16 Oct 2018 16:08:45 +0000 (19:08 +0300)]
X11: Remember perm_invent window geometry

Instead of remembering the geometry at window closing time,
remember it immediately when it changes.

6 years agoX11: Allow toggling mouse_support off
Pasi Kallinen [Tue, 16 Oct 2018 15:09:50 +0000 (18:09 +0300)]
X11: Allow toggling mouse_support off

Prevents accidental mouse clicks on the map.

6 years agoX11: Don't reuse perm_invent window for picking an object
Pasi Kallinen [Tue, 16 Oct 2018 14:39:42 +0000 (17:39 +0300)]
X11: Don't reuse perm_invent window for picking an object

The core wants to reuse the permanent inventory window for choosing
an object from inventory, but the perm_invent window could be
hard to focus - it could even be on another display!

Instead, create a temporary new window from which the user can
pick an inventory item.

6 years agofix #H7453 - 'bonesknown' for dead hero
PatR [Tue, 16 Oct 2018 01:26:49 +0000 (18:26 -0700)]
fix #H7453 - 'bonesknown' for dead hero

Dead hero's map coordinates are set to <0,0> part way through bones
creation, then were being used to record grave location for overview
feedback with "final resting place for <dead hero>" if/when another
character got those bones and found the grave (actually, spotted the
location where first hero died regardless of whether a grave gets
placed there).  Record dead hero's pre-<0,0> coordinates as intended.

Not previously noticed because in wizard mode the final resting place
becomes part of overview info as soon as bones are loaded rather than
waiting for the death location to be reached.

6 years agoX11: Allocate menu translation tables only once
Pasi Kallinen [Mon, 15 Oct 2018 15:37:02 +0000 (18:37 +0300)]
X11: Allocate menu translation tables only once

Also force free the menu entry widgets when non-perm-invent
window is popped down.