]> granicus.if.org Git - nethack/log
nethack
5 years agoglob floor merge message
nhmall [Fri, 17 May 2019 15:44:39 +0000 (11:44 -0400)]
glob floor merge message

Make it more obvious that globs that just merged on the
floor may be at an adjacent location.

5 years agofarlook feedback for overloaded symbols
PatR [Thu, 16 May 2019 22:26:35 +0000 (15:26 -0700)]
farlook feedback for overloaded symbols

When using '/' or ';' and picking--not just viewing the autodescribe
feedback for--a space or '#' on the map, the game would produce
 That can be many things (stone)
or
 That can be many things (corridor)
unlike the usual
 -     the interior of a monster or a wall or an open door (wall)
when the symbol matched more than 4 things.  I first changed it to
append the full sentence's missing period, but ultimately switched to
 #     can be many things (corridor)
so that the symbol that "many things" refers to isn't hidden.  This
works better for ^P where player isn't looking at the symbol anymore.

5 years agoversion number 3.6.3 for vms
PatR [Sun, 12 May 2019 22:52:04 +0000 (15:52 -0700)]
version number 3.6.3 for vms

5 years agoadd VERSION_IN_DLB_FILENAME to makedefs detection
nhmall [Sun, 12 May 2019 19:14:31 +0000 (15:14 -0400)]
add VERSION_IN_DLB_FILENAME to makedefs detection

5 years agosupport version-specific dlb file
nhmall [Sun, 12 May 2019 18:51:26 +0000 (14:51 -0400)]
support version-specific dlb file

There was a post-3.6.2 discussion on a forum where someone had
tried to copy the NetHack 3.6.2 exe file overtop of an
existing NetHack 3.6.0 playground, and then try to run it.

We have never suggested trying that, nor do we attempt to
provide any backward or forward compatibility between the
supporting files found in nhdat that would allow that. Any
particular version of NetHack expects to have matching
support files designed and matched to that version.

This adds optional support for helping to prevent the
opening of nhdat containing support files from an
unmatched version of NetHack.

If you #define VERSION_IN_DLB_FILENAME in your
platform's include/*conf.h file, it will use a
name such as nhdat362, instead of plain nhdat, and
will exit more gracefully than the fault/crash
mentioned in the discussion if it doesn't find the
file it is looking for.

Developers - please note that if you do
to cause NetHack to look for an nhdat* file with
the version info appended to the name, you will likely
have to modify your build/clean/spotless mechanics
beyond the C compile itself to properly deal with the
new generated file name.

5 years agoadd windows startup msg fix to fixes36.3
nhmall [Sun, 12 May 2019 02:01:23 +0000 (22:01 -0400)]
add windows startup msg fix to fixes36.3

5 years agoReport of no error msg deliverd by NetHackw.exe for some startup issues
nhmall [Sun, 12 May 2019 01:55:27 +0000 (21:55 -0400)]
Report of no error msg deliverd by NetHackw.exe for some startup issues

5 years agofix #H8712 - curses menu selector overflow
PatR [Sat, 11 May 2019 10:04:53 +0000 (03:04 -0700)]
fix #H8712 - curses menu selector overflow

The curses interface would assign menu selector characters a-z, A-Z,
and then 0-9, but trying to type 0-9 would start a count rather than
select an entry, and if the display was tall enough for more than 62
entries, the ones after '9' were ASCII punctuation characters.
Limit the number of entries per page to 52 + number_of_'$'_entries
(which should be 0 or 1) so that it won't run out of normal letters.

The perm_invent window, if enabled, ought to allow more than that
because it isn't used to make selections and might have an arbtirary
number of '#' overflow entries.  But I'll leave that for somebody
else to tackle.

Tested by temporarily setting the limit to 26 instead of 52 since
I'm not able to display anything tall enough to exercise the latter.

5 years agoplace_object vs multiple boulders
PatR [Fri, 10 May 2019 22:21:59 +0000 (15:21 -0700)]
place_object vs multiple boulders

When place_object() puts a non-boulder underneath a boulder, make it
put the non-boulder under all the boulders there rather than just under
the topmost one.  Otherwise the map display will show the non-boulder
rather than the 2nd boulder if the top boulder gets moved away by some
means other than pushing.  (Pushing explicitly brings lower boulder to
top of pile in order to try to push it next.)

Reproduce by:  wish for boulder--it will drop.  Drop something else--
the something-else will end up under the boulder.  Repeat.  The second
boulder will be on top but the second something-else will be next in
the pile, above the first boulder.  Now polymorph into a giant and pick
up the first boulder, then move away from that spot.  Map will show
second something-else instead of the remaining boulder.

This fairly simple fix should work reliably on new games since boulders
will end up being consecutive on the top of piles.  For old games,
boulders after the topmost could be anywhere and still yield a display
glitch, but since that's all the problem is (I hope...), we ought to
be able to live with that until old games eventually go away.

[A map display glitch doesn't explain a corrupted 'uball' so this fix
doesn't solve that.]

5 years agocomment bit
nhmall [Fri, 10 May 2019 19:08:59 +0000 (15:08 -0400)]
comment bit

5 years agoinstead of BETA or not, have devel states of release, wip, beta
nhmall [Fri, 10 May 2019 18:59:03 +0000 (14:59 -0400)]
instead of BETA or not, have devel states of release, wip, beta

Now that development sources are made public prior to
BETA testing, it is useful to have a work-in-progress
state prior to BETA.

5 years agoensure go-forward builds of branch NetHack-3.6 don't still say 3.6.2
nhmall [Fri, 10 May 2019 17:47:59 +0000 (13:47 -0400)]
ensure go-forward builds of branch NetHack-3.6 don't still say 3.6.2

5 years agotry to extract a bit more info from impossible obfree: not on bill
nhmall [Fri, 10 May 2019 17:11:39 +0000 (13:11 -0400)]
try to extract a bit more info from impossible obfree: not on bill

5 years agofixes36.2 update for posterity
PatR [Fri, 10 May 2019 00:15:14 +0000 (17:15 -0700)]
fixes36.2 update for posterity

Change of couple entries which describe fixed bugs to use past tense
instead of present tense.  Fix a typo or two and a couple of instances
of clumsy wording.  Move a dead-fake-hero-on-trap entry from normal
fixes section to exposed-by-git section since it was a post-3.6.1 bug.
Move two VMS entries from exposed-by-git section to interface-specific
section where they were intended.

I didn't make it through the whole file so there may be more room for
improvement.  It's too late for 3.6.2 but the copy of doc/fixes36.2 in
later versions will be 'better'.

5 years agonew fixes36.3 NetHack-3.6.3_WIP
nhmall [Wed, 8 May 2019 23:32:35 +0000 (19:32 -0400)]
new fixes36.3

5 years agoThis is cron-daily v1-Feb-22-2019. guidebook updated: doc/Guidebook.txt NetHack-3.6.2 NetHack-3.6.2_Release NetHack-3.6.2_Released
nhw_cron [Tue, 7 May 2019 19:29:25 +0000 (15:29 -0400)]
This is cron-daily v1-Feb-22-2019.  guidebook updated: doc/Guidebook.txt

5 years agoNetHack 3.6.2 release-related updates
nhmall [Tue, 7 May 2019 18:39:24 +0000 (14:39 -0400)]
NetHack 3.6.2 release-related updates

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Tue, 7 May 2019 18:11:33 +0000 (14:11 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agoGuidebook.mn: drop unneeded escaping NetHack-3.6.2-beta01
keni [Tue, 7 May 2019 17:53:24 +0000 (13:53 -0400)]
Guidebook.mn: drop unneeded escaping

5 years agotop level Files take 2
nhmall [Tue, 7 May 2019 13:10:48 +0000 (09:10 -0400)]
top level Files take 2

5 years agoMake Files match the most recent beta version
nhmall [Tue, 7 May 2019 12:53:43 +0000 (08:53 -0400)]
Make Files match the most recent beta version

5 years ago3.6.2 release bits into Guidebook
nhmall [Tue, 7 May 2019 12:40:46 +0000 (08:40 -0400)]
3.6.2 release bits into Guidebook

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Mon, 6 May 2019 03:20:34 +0000 (23:20 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agoVMS update
PatR [Sun, 5 May 2019 23:56:58 +0000 (16:56 -0700)]
VMS update

Long overdue.  Install.vms ought to be rewritten from scratch but that
will probably never happen.

5 years agocomment/formatting tidbits
PatR [Sun, 5 May 2019 22:20:09 +0000 (15:20 -0700)]
comment/formatting tidbits

Some miscellaneous stuff I don't want to discard of lose track of.
No change it actual code.

5 years agobones bit: crysknife vs green slime
PatR [Sun, 5 May 2019 21:48:43 +0000 (14:48 -0700)]
bones bit: crysknife vs green slime

Being turned into green slime never drops hero's inventory so invent
objects shouldn't be subject to obj_not_held() handling.

obj_not_held() does apply to undead.  Arising as a mummy or vampire
doesn't go through the trouble of dropping everything and picking it
back up, but there is a point in the die...arise sequence where the
hero is implicitly a corpse so nobody is holding his/her stuff.

5 years agocouple of interface comments
PatR [Sun, 5 May 2019 20:38:58 +0000 (13:38 -0700)]
couple of interface comments

5 years agoball&chain sanity checking
PatR [Sun, 5 May 2019 20:33:30 +0000 (13:33 -0700)]
ball&chain sanity checking

Add a bc sanity check.  It seems to work ok--in other words, not
trigger--under normal punishment.  I don't have any test cases to
exercise its warnings.

This dragged in a couple of minor bc changes that were pending.  I
should have cleared those out before tackling the sanity checking.

5 years agoFix monster trapped state being wrong
Pasi Kallinen [Sun, 5 May 2019 19:49:21 +0000 (22:49 +0300)]
Fix monster trapped state being wrong

When cloning a monster, clear the clone trapped and hiding states.
When splitting a monster (eg. a black pudding), the clone could
be placed on a trap, so do mintrap.
When removing a monster from the map, clear the trapped state.

5 years agoFix impossible if monster cannot be relocated from tele region
Pasi Kallinen [Sun, 5 May 2019 19:29:47 +0000 (22:29 +0300)]
Fix impossible if monster cannot be relocated from tele region

5 years agosync recent wording change in history
nhmall [Sun, 5 May 2019 18:16:49 +0000 (14:16 -0400)]
sync recent wording change in history

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Sun, 5 May 2019 17:36:45 +0000 (13:36 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agoMerge branch 'NetHack-3.6.2-beta01' of https://rodney.nethack.org:20040/git/NHsource...
nhmall [Sun, 5 May 2019 17:34:38 +0000 (13:34 -0400)]
Merge branch 'NetHack-3.6.2-beta01' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6.2-beta01

5 years agosome updates for 3.6.2
nhmall [Sun, 5 May 2019 17:29:40 +0000 (13:29 -0400)]
some updates for 3.6.2

5 years agoThis is cron-daily v1-May-5-2019. guidebook updated: doc/Guidebook.txt
keni [Sun, 5 May 2019 17:32:53 +0000 (13:32 -0400)]
This is cron-daily v1-May-5-2019.  guidebook updated: doc/Guidebook.txt
to 948099800b722f9be0e8f9c8d4d96cfda5cea98e

5 years agosome updates for 3.6.2
nhmall [Sun, 5 May 2019 17:29:40 +0000 (13:29 -0400)]
some updates for 3.6.2

5 years agodisplay.c formatting
PatR [Thu, 2 May 2019 22:22:29 +0000 (15:22 -0700)]
display.c formatting

Miscellaneous cleanup of display.c.

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Wed, 1 May 2019 13:06:37 +0000 (09:06 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agoDatabase fixes
Pasi Kallinen [Wed, 1 May 2019 10:38:53 +0000 (13:38 +0300)]
Database fixes

Merge barbed devil entry to already existing one.
Replace spaces in the beginning of lines with tabs.

5 years agofix github issue #188 - #chat to succubus/incubus
PatR [Tue, 30 Apr 2019 18:35:06 +0000 (11:35 -0700)]
fix github issue #188 - #chat to succubus/incubus

Fixes #188

The change to fix setting SEDUCE=0 in sysconf broke chatting with
seductive demons by unintentionally changing the way Null attack
argument was handled.  It's still handled differently than it used
to be, but I think this difference is correct.

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Mon, 29 Apr 2019 17:52:06 +0000 (13:52 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agoAdd the missing int param
Pasi Kallinen [Mon, 29 Apr 2019 17:45:18 +0000 (20:45 +0300)]
Add the missing int param

5 years agoUnify code for cure self spell
Pasi Kallinen [Mon, 29 Apr 2019 15:50:08 +0000 (18:50 +0300)]
Unify code for cure self spell

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Mon, 29 Apr 2019 11:49:58 +0000 (07:49 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agofix github issue #187 - 'reassess' panic with Qt5
PatR [Mon, 29 Apr 2019 00:32:16 +0000 (17:32 -0700)]
fix github issue #187 - 'reassess' panic with Qt5

Fixes #187

Qt5 gave "status 'reassess' before init" panic at start of new game.
Don't call status_initialize(REASSESS) from set_usamon()--used for
hero setup as well as for hero polymorph--unless it was previously
called from display_gamewindows() with !REASSESS [which happens when
windowprocs.wincap2 has WC2_STATUS_HILITES or WC2_FLUSH_STATUS set].

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Fri, 26 Apr 2019 23:47:18 +0000 (19:47 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agofix #H8612 - splashes of venom might stay intact
PatR [Thu, 25 Apr 2019 14:11:42 +0000 (07:11 -0700)]
fix #H8612 - splashes of venom might stay intact

If a poly'd hero spits venom and it lands at a 'soft' spot such as
water, it would remain as an intact venom object.  (Venom spat by
monsters seems to always be used up regardless of where it lands.)

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Thu, 25 Apr 2019 01:16:07 +0000 (21:16 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agovampshifting Vlad
PatR [Wed, 24 Apr 2019 23:59:44 +0000 (16:59 -0700)]
vampshifting Vlad

Vlad keeps his own form when carrying the Candelabrum, but if you
manage to get that away from him he should behave like other vampires.
He wasn't though; a high level wizard casting polymorph on him would
change him into an arbitrary monster rather than into a wolf/bat/cloud
that revives as Vlad when killed.

5 years agofix #H8619 - hallucination vs vampire transform
PatR [Wed, 24 Apr 2019 21:02:09 +0000 (14:02 -0700)]
fix #H8619 - hallucination vs vampire transform

|The seemingly dead vampire bat rises as a vampire.
was overriding hallucination when describing both old and new forms.
In 3.6.0 it only overrode the dying shape (explicitly so, presumeably
because the feature was brand new) and honored hallucination for the
revived shape.  The 3.6.1 fix to prevent non-hallucinating:  'The
seemingly dead Foo rises as Foo.' for a named vampire unintentionally
overrode hallucination for the revived shape.

Change it to honor hallucination for both before and after monsters
|The seemingly dead grid bug rises as a microscopic space fleet.

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Mon, 22 Apr 2019 18:31:18 +0000 (14:31 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agoenum bit
nhmall [Mon, 22 Apr 2019 18:27:41 +0000 (14:27 -0400)]
enum bit

5 years agopreserve dknown field between fakeobj instances
nhmall [Mon, 22 Apr 2019 18:17:18 +0000 (14:17 -0400)]
preserve dknown field between fakeobj instances

Preserve temporary fake object's previous dknown value by storing it
as a flag value within the m_ap_type field of the posing monster, and
recalling it when it is needed.

This is intended to help eliminate observable differences in price display
between real objects and mimics posing as objects.

98% of this is just switching the code to utilize macro M_AP_TYPE(mon)
everywhere to ensure that the flag bits are stripped off when needed.

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Sun, 21 Apr 2019 08:00:47 +0000 (04:00 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agomimicking a corpse
PatR [Sat, 20 Apr 2019 23:00:29 +0000 (16:00 -0700)]
mimicking a corpse

Noticed while looking over mimic hiding.  When on an object, a mimic
will hide as that type of object.  But for a corpse, it picked a random
monster type and could choose one that doesn't leave a corpse.  Also as
a tin it would always be an empty one, but there doesn't seem to be any
way for a player to learn that.

5 years agoquantum mechanic hits
PatR [Sat, 20 Apr 2019 00:32:36 +0000 (17:32 -0700)]
quantum mechanic hits

Noticed while trying to find the reason for the wildmiss impossible(),
you could be teleported and then drop dead at the destination.  A QM's
AD_TLPT hit also does 1d4 physical damage which gets applied after the
teleport.  Getting "You die." seemed pretty strange, particularly after
picking the destination with telport control.  This makes sure that the
damage will never be fatal when teleport is attempted.

5 years agoVMS config1.h
PatR [Fri, 19 Apr 2019 19:42:35 +0000 (12:42 -0700)]
VMS config1.h

Some port of yacc was generating '#include <stdlib.h>' before our
'#include "config.h" and needed a specific define from config1.h to
be supplied on the command line to avoid conflicting contents within
that header file, but then config1.h drew complaints about redefining
the macro.  Guard against that.

5 years agostatus 'fieldorder'
PatR [Fri, 19 Apr 2019 19:28:14 +0000 (12:28 -0700)]
status 'fieldorder'

DEC C in one of its non-ANSI modes didn't like
 fieldorder = test ? &array1 : &array2;
It first complained that '&' applied to an array has no effect (which
was typically true in pre-ANSI environments) and once those '&'s are
ignored, the attempted assignment didn't match the variable's type.
That code was actually more complicated that it needed to be; slightly
simpler code works as intended.

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Fri, 19 Apr 2019 12:55:39 +0000 (08:55 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agofix #H8579 - mimics mimicking shop objects
PatR [Thu, 18 Apr 2019 22:41:54 +0000 (15:41 -0700)]
fix #H8579 - mimics mimicking shop objects

Showing the price of a shop object when examining it with '/' or ';'
didn't include a price if it was actually a mimic.  This makes fake
objects have prices when appropriate, but it is only a partial fix
because moving away from a mimic causes nethack to forget the fake
object's dknown flag for most types of objects.

That could be solved by adding an mobj field to mon->mextra, which
will break save compatibility, or by adding a whole extra set of
object glyphs for object-with-dknown-set.  The latter could probably
be done without breaking backwards save compatibility (new program
using old files) but it seems like more effort that it'd be worth and
it would break forwards save compatibility (old program attempting to
use new files--something we've never claimed to support).

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Thu, 18 Apr 2019 12:17:56 +0000 (08:17 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agoanother bit of reformatting
PatR [Thu, 18 Apr 2019 02:01:47 +0000 (19:01 -0700)]
another bit of reformatting

5 years agomonster movement comments
PatR [Thu, 18 Apr 2019 01:57:14 +0000 (18:57 -0700)]
monster movement comments

A bit of reformatting and a couple of new comments.  No change in
behavior.

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Wed, 17 Apr 2019 18:29:50 +0000 (14:29 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agovms update revisited
PatR [Mon, 15 Apr 2019 20:48:27 +0000 (13:48 -0700)]
vms update revisited

Redo the UCHAR_P handling from df84da3ec2f38460e137a4bdfb25148262d544c2
(5 weeks ago) and 02b21865fd288626db6984d963078afd0ec34716 followup.
The earlier #define was happening too late in the #include sequence;
tradstdc.h is processed before global.h+(vmsconf.h,unixconf.h,...).

Also, DEC C in 'common' mode complains about indented '#' starting a
line but not in column 1.  Putting #pragma in column 2 was deliberate
in case of an ancient compiler which doesn't understand that directive.
Splitting the difference via non-indented '# pragma' may or may not
mollify the latter when it's bypassing conditionally excluded code.

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Sun, 14 Apr 2019 02:27:32 +0000 (22:27 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agoslightly better shop repair feedback
PatR [Sun, 14 Apr 2019 00:28:26 +0000 (17:28 -0700)]
slightly better shop repair feedback

During shop repair, give a message about the shopkeeper using a spell
(if hero is close enough) before "Suddenly, <various repairs occur>."
And when shop repair is for a single untrap of landmine or bear trap
adjacent to shk (and the hero can see it happen), say "<Shk> untraps
<trap>" rather than just "Suddenly, a trap is removed from the floor!"

5 years agoprobing fix
PatR [Sat, 13 Apr 2019 22:57:16 +0000 (15:57 -0700)]
probing fix

For the inventory of a probed monster, if the probing took place in
a shop the inventory display would have selling price appended to
all the items.  That wouldn't really be a problem if it was just for
a pet who was carrying one shop item, but it applied to every item
being carried by any probed monster (including shopkeeper) with no
regard for whether the shop actually claimed ownership.

5 years agofix #H8534 - thrown pick-axe vs "scum!"
PatR [Fri, 12 Apr 2019 08:33:42 +0000 (01:33 -0700)]
fix #H8534 - thrown pick-axe vs "scum!"

[I accidentally left this out of the earlier patch.]

Change in meaning of mnearto()'s return value wasn't progagated to
shkcatch(). Make it an int instead of boolean so that it can
communicate both 'moved successfully' and 'moved but had to move
another monster out of the way to do so'.

5 years agofix #H8534 - thrown pick-axe vs "scum!"
PatR [Thu, 11 Apr 2019 22:38:51 +0000 (15:38 -0700)]
fix #H8534 - thrown pick-axe vs "scum!"

Change in meaning of mnearto()'s return value wasn't progagated to
shkcatch().  Make it an int instead of boolean so that it can
communicate both 'moved successfully' and 'moved but had to move
another monster out of the way to do so'.

5 years agoGuidebook.tex corrections
nhmall [Wed, 10 Apr 2019 21:22:18 +0000 (17:22 -0400)]
Guidebook.tex corrections

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Wed, 10 Apr 2019 16:49:30 +0000 (12:49 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agoanother STATUS_HILITES optimization
PatR [Wed, 10 Apr 2019 11:29:10 +0000 (04:29 -0700)]
another STATUS_HILITES optimization

When highlighting is disabled due to 'statushilites' being 0, don't
bother checking whether any temporary highlights are timing out.

5 years agomore !STATUS_HILITES
PatR [Wed, 10 Apr 2019 00:45:32 +0000 (17:45 -0700)]
more !STATUS_HILITES

No point in checking for timed out temporary highlights if there aren't
any highlights.

5 years agoGuidebook update
PatR [Tue, 9 Apr 2019 22:46:19 +0000 (15:46 -0700)]
Guidebook update

Tweak the status hilites section.  Add a bit of detail about how to
specify both color and attribute and/or multiple attributes.  Also,
change the Guidebook's table of status fields to be column-oriented.
With the exception of 'score', reading down the three columns now
matches going across the status lines.  The previous ordering started
row-oriented but then became scrambled compared to the usual display.

As usual, Guidebook.tex is best guess....

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Tue, 9 Apr 2019 21:29:15 +0000 (17:29 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agotty blink & dim attributes
PatR [Tue, 9 Apr 2019 20:16:54 +0000 (13:16 -0700)]
tty blink & dim attributes

Enable blink and dim for the TERMLIB + !NO_TERMS configuration of the
tty interface.  Blink now works the same as in the curses interface
for status highlights.  The terminal emulator I'm using has an escape
sequence for dim but it evidently doesn't do anything (same no effect
as with curses), so that isn't adequately tested.

5 years agovs nhsetup bit
nhmall [Tue, 9 Apr 2019 04:41:12 +0000 (00:41 -0400)]
vs nhsetup bit

5 years agoadjust for recently released MS Visual Studio 2019
nhmall [Tue, 9 Apr 2019 04:35:02 +0000 (00:35 -0400)]
adjust for recently released MS Visual Studio 2019

win\curses\cursstat.c(886) : error C4703: potentially uninitialized local pointer variable 'p' used

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Sun, 7 Apr 2019 01:03:41 +0000 (21:03 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agocurses vs !HILITE_STATUS
PatR [Sat, 6 Apr 2019 22:53:51 +0000 (15:53 -0700)]
curses vs !HILITE_STATUS

The curses interface wouldn't build with HILITE_STATUS disabled.  I
started adapting it to handle genl_status_update() but that was taking
too much effort with each niggling detail leading to another.  This
goes the opposite direction:  forcing the old STATUS_VIA_WINDOWPORT
behavior without having that #define available.  That dragged along a
bunch of unexpected changes too.

5 years agofix #H8481 - placing monster at <0,0>
PatR [Sat, 6 Apr 2019 19:57:29 +0000 (12:57 -0700)]
fix #H8481 - placing monster at <0,0>

mon_arrive() -> m_into_limbo() -> migrate_to_level() -> wormgone()
followed by place_monster() "for relmon".  relmon() was changed (last
November, cc5bb44a9a757fe00800c90cb3a648b009af155d) to not require
the monster be on the map, so just get rid of the place_monster() that
was trying to put the "gone" long worm at <0,0>.

Also, another m_into_limbo() bit:  make mdrop_special_objs() check the
location and send any dropped items to random locations if the monster
dropping things isn't on the map, instead of placing them at <0,0>.

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Sat, 6 Apr 2019 13:13:11 +0000 (09:13 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agotty status
PatR [Sat, 6 Apr 2019 12:36:29 +0000 (05:36 -0700)]
tty status

Take care of a minor 'TODO' and make another stab at getting truncated
encumbrance and/or level-description to reset to full size when enough
space becomes available.

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Sat, 6 Apr 2019 12:22:01 +0000 (08:22 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agobotl.c functions
PatR [Sat, 6 Apr 2019 08:08:16 +0000 (01:08 -0700)]
botl.c functions

Put the prototypes for routines in botl.c into the same order as the
corresponding functions are in the file.  Also a few were missing and
another few used STATIC_OVL when STATIC_DCL was appropriate.

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Fri, 5 Apr 2019 02:33:59 +0000 (22:33 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agocurses ">>" (terse "--More--")
PatR [Fri, 5 Apr 2019 00:55:40 +0000 (17:55 -0700)]
curses ">>" (terse "--More--")

I've noticed many instances of the game pausing and not being sure why,
then pressing <space> and having it resume.  The curses interface had
a tendency to put its equivalent of the --More-- prompt, >>, somewhere
where that wasn't visible, either off the right hand edge (possibly) or
underneath the window borders if those were enabled.  Especially the
very last one it issues prior to exit.  (An extra one compared to tty
behavior.)

This ended up being a pretty substantial overhaul of message window
handling.  I wouldn't be surprised if it has off-by-one errors which
happen to be paired up and cancel each other out.  ">>" is still drawn
in orange if guicolor is on, now in inverse video when that is off.
If it happens to be drawn at the same screen location in consecutive
instances, the first ">" will toggle between blink and not blink so
that there'll be no doubt as to whether the keypress registered when
dismissing it (moot if the text preceding it is different but there's
no attempt to be smart enough to check that, just screen placement).

5 years agoopthelp bit
PatR [Thu, 4 Apr 2019 22:08:56 +0000 (15:08 -0700)]
opthelp bit

5 years agoMerge branch 'NetHack-3.6.2-beta01' of https://rodney.nethack.org:20040/git/NHsource...
keni [Thu, 4 Apr 2019 21:01:48 +0000 (17:01 -0400)]
Merge branch 'NetHack-3.6.2-beta01' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6.2-beta01

5 years agoSolaris hints files from Kevin Smolkowski
keni [Thu, 4 Apr 2019 21:00:51 +0000 (17:00 -0400)]
Solaris hints files from Kevin Smolkowski

5 years agocurses prompting
PatR [Thu, 4 Apr 2019 20:52:14 +0000 (13:52 -0700)]
curses prompting

Make the same fix to curses that was done for tty in 3.6.1:  don't
let MSGTYPE entries be matched against prompt strings.  Like tty,
curses was using ordinary pline() to issue prompts; something like
MSGTYPE=hide"yn"
could wreak havoc.  Switch to custompline(OVERRIDE_MSGTYPE,...).

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Thu, 4 Apr 2019 12:13:04 +0000 (08:13 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agocouple of comment tidbits
PatR [Thu, 4 Apr 2019 01:31:25 +0000 (18:31 -0700)]
couple of comment tidbits

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Tue, 2 Apr 2019 15:21:10 +0000 (11:21 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agountested build fix for term_attr_fixup()
PatR [Tue, 2 Apr 2019 14:38:57 +0000 (07:38 -0700)]
untested build fix for term_attr_fixup()

modified:
  sys/mac/mttymain.c
  sys/msdos/video.c
  sys/winnt/nttty.c

5 years agocurses ^P msg_window:Full
PatR [Tue, 2 Apr 2019 08:11:59 +0000 (01:11 -0700)]
curses ^P msg_window:Full

This changes the recently added msg_window:f for curses to start
viewing the old messages on the last page rather than the first.  For
msg_window:Reversed (the default for curses) and for either direction
when all of the message history happens to fit on one page, there's
no change.  But for multiple pages, the FIFO feedback now pads the top
of the first page with blank lines so that the last page is full, and
it starts out showing that last page first.  So if you only want to go
back few or several messages, they will be in view immediately.

Old layout:
|first message (oldest)   |  |1st message of last page |
|2nd message of 1st page  |  | ...                     |
| ...                     |  |final (most recent) mesg |
| ...                     |  | (blank filler)          |
|last message of 1st page |  | (blank filler)          |
|             (1 of 2) => |  |          <= (2 of 2)    |
and ^P started with first page visible and needed normal menu handling,
<space> or '>' or '|', to go forward to view the most recent messages.

New layout:
|1st message of last page |  | (blank filler)          |
|2nd message of last page |  | (blank filler)          |
| ...                     |  |first message (oldest)   |
| ...                     |  | ...                     |
|final (most recent)      |  |last message of 1st page |
| <= (2 of 2)             |  |    (1 of 2) =>          |
and ^P starts on last page (two of two in this example) but can go
back with '<' and '^'.

So if the total size takes one and third pages (which isn't uncommon
for the default number of kept messages), you'll see 3/4 of the most
recent messages on the initial screen, then you can page backward if
you want to see the other 1/4.

The page indicator is deliberately drawn a bit differently just to
draw attention to the fact you're starting on the last page.  I'm not
sure whether that is actually worthwhile but it was trivial to do.

5 years agoMerge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2
nhmall [Tue, 2 Apr 2019 05:45:00 +0000 (01:45 -0400)]
Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

5 years agobuild fix for X11-only
PatR [Mon, 1 Apr 2019 21:56:00 +0000 (14:56 -0700)]
build fix for X11-only

I didn't noticed this because I've been building for tty+curses+X11
and either of the first two cause iflags.extmenu to exist.  Make it
unconditional; there's not much benefit from trying to suppress it
for configurations that don't need it.

5 years agoX11 extended commands menu scrolling
PatR [Mon, 1 Apr 2019 16:27:09 +0000 (09:27 -0700)]
X11 extended commands menu scrolling

Support for scrolling within menus via first-/previous-/next-/last-
page keystrokes ("^<>|" by default) was added to X11's general menu
handling but the extended commands menu uses a special menu rather
than a general one.  This clones the relevant code to add support for
those keys to extended commands.