]> granicus.if.org Git - nethack/log
nethack
9 years agofix #H4082 - macosx - set permissions of symbols file in package postinstall script
Haoyang Wang [Fri, 18 Dec 2015 10:13:35 +0000 (02:13 -0800)]
fix #H4082 - macosx - set permissions of symbols file in package postinstall script

9 years agosuppression of while-helpless for tombstone
PatR [Fri, 18 Dec 2015 09:59:36 +0000 (01:59 -0800)]
suppression of while-helpless for tombstone

Avoid the possibility of a user-supplied name interfering with killer
reason truncation.  A monster named ", while" that killed the hero
would result in "killed by <mon-type> called " being displayed on the
tombstone after stripping while-helpless reason to shorten the text.

9 years agofix bz 103+#H4095 - high scores ", while helpless"
PatR [Fri, 18 Dec 2015 03:50:06 +0000 (19:50 -0800)]
fix bz 103+#H4095 - high scores ", while helpless"

If a character dies with 'multi' at a non-zero value, the reason for
helplessness is appended to the cause of death.  But that was taking
place in writeentry(), which is used for every score entry while
rewriting 'record' when a new high score is added.  So whenever a new
score with helplessness was added, all existing entries got corrupted
by having the newest game's reason for helplessness tacked on.

Append the helplessness reason while formatting the cause of death
instead of when writing out score and logfile entries.  xlogfile is
handled a little differently in case the cause of death plus reason
for helplessness is too long so truncated for record and logfile.
Full reason is still put into xlogfile.

9 years agoFix bug C343-20 wrong level shown at death
nhmall [Fri, 18 Dec 2015 01:27:42 +0000 (20:27 -0500)]
Fix bug C343-20 wrong level shown at death

 Changes to be committed:
modified:   doc/fixes36.1
modified:   src/ball.c

I looked up the original bug report that led to bug page C343-20
"When dying immediately on entering a level, the map may show you dying on the previous level."

It was received public report U891:
> When one is being punished and goes down a staircase and dies because the
> ball and chain fell on their head, one gets the message about their death
> while the old level is still being displayed. I wasn't sure whether this
> was a bug or not because on one hand it wouldn't make much sense to
> generate a new level if the character is going to die anyway. However,
> that being said it does make a difference if the character is about to go
> down into a level where one cannot leave bones files, ie medusa or the
> first level of the mines (if i remember correctly). So, if your character
> dies from this does the bones file get left on the level you were on
> (which is still displayed at the time of death) or the level you died as
> soon as you got to (but was never displayed)? Thanks!

Pat had remarked in response: "So this is just a display issue; game play works as intended
(for the program; I imagine you weren't planning to get killed."

A debug trace in wizard mode 3.6.1 beta shows that the relevant code path is this:
NetHack.exe!done(int how) Line 908
NetHack.exe!losehp(int n, const char * knam, char k_format) Line 2678
NetHack.exe!drag_down(...) Line 823
NetHack.exe!goto_level(d_level * newlevel, char at_stairs, char falling, char portal) Line 1316
NetHack.exe!next_level(char at_stairs) Line 1157
NetHack.exe!dodown(...) Line 954
NetHack.exe!rhack(char * cmd) Line 3416
NetHack.exe!moveloop(char resuming) Line 464
NetHack.exe!main(int argc, char * * argv) Line 104

This patch clears the display for the situation in drag_down(),
so the old level is not shown.

9 years agoRemove symbol setting options which do not work anymore
Pasi Kallinen [Thu, 17 Dec 2015 19:12:59 +0000 (21:12 +0200)]
Remove symbol setting options which do not work anymore

9 years agoset permissions of symbols file in package postinstall script
Haoyang Wang [Thu, 17 Dec 2015 14:53:14 +0000 (06:53 -0800)]
set permissions of symbols file in package postinstall script

9 years agofix #H4065 - unnecessary role select confirmation
PatR [Thu, 17 Dec 2015 14:37:08 +0000 (06:37 -0800)]
fix #H4065 - unnecessary role select confirmation

If player specified all four facets of role:  role, race, gender, and
alignment, via command line or option settings, the tty interface still
asked the player to confirm whether the character's role/&c was ok?
Skip that confirmation when all four things have already been chosen.

9 years agouse 'macosx.sh editsysconf' to install sysconf
Haoyang Wang [Sat, 12 Dec 2015 16:35:13 +0000 (08:35 -0800)]
use 'macosx.sh editsysconf' to install sysconf

9 years agoadded editsysconf command in macosx.sh
Haoyang Wang [Fri, 11 Dec 2015 04:34:20 +0000 (20:34 -0800)]
added editsysconf command in macosx.sh

9 years agoturn off use_darkgray in sysconf
Haoyang Wang [Thu, 10 Dec 2015 06:25:28 +0000 (22:25 -0800)]
turn off use_darkgray in sysconf

9 years agoClarify regex support in the guidebook
Pasi Kallinen [Thu, 17 Dec 2015 10:47:03 +0000 (12:47 +0200)]
Clarify regex support in the guidebook

9 years agoFix bz189 H4092: Broken qt_xpms.h
Pasi Kallinen [Thu, 17 Dec 2015 06:46:04 +0000 (08:46 +0200)]
Fix bz189 H4092: Broken qt_xpms.h

9 years agomore menu <space> screwup
PatR [Thu, 17 Dec 2015 02:42:45 +0000 (18:42 -0800)]
more menu <space> screwup

Like the just fixed naming for discoveries list, there are several
other add_menu() calls which specify <space> instead of 0 as a useless
selector on separator lines.  These others are all for role selection,
where menus don't get big enough to need next-page.

I don't know what I was thinking at the time, although it must have
seemed like a good idea for some reason....

9 years agofix #H4095 - naming discoveries list
PatR [Thu, 17 Dec 2015 02:16:39 +0000 (18:16 -0800)]
fix #H4095 - naming discoveries list

The menu for picking an item to name when using the "on discoveries list"
choice for #name or C when that list spanned multiple pages was exiting
for <space> instead of advancing to next page.  Space was being assigned
as the selection letter for class header lines, which made no sense.

9 years agocompatibility macro correction
nhmall [Wed, 16 Dec 2015 22:59:10 +0000 (17:59 -0500)]
compatibility macro correction

3.6.0 went out with editlevel at 2, not 0

9 years agohousekeeping for 3.6.1
nhmall [Wed, 16 Dec 2015 22:52:34 +0000 (17:52 -0500)]
housekeeping for 3.6.1

 Changes to be committed:
modified:   Files
modified:   README
modified:   dat/history
modified:   doc/Guidebook.mn
modified:   doc/Guidebook.tex
modified:   include/global.h
modified:   include/obj.h
modified:   include/patchlevel.h
modified:   src/invent.c
modified:   src/objnam.c
modified:   src/shknam.c
modified:   src/sounds.c
modified:   src/spell.c
modified:   sys/winnt/Install.nt
modified:   sys/winnt/nethack.def
modified:   win/macosx/NetHackGuidebook.applescript
modified:   win/macosx/NetHackTerm.applescript
modified:   win/win32/mswproc.c

9 years agoAdd option to have autodescribe on by default
Pasi Kallinen [Wed, 16 Dec 2015 19:42:37 +0000 (21:42 +0200)]
Add option to have autodescribe on by default

9 years agoscrolls written while blind; scrolls of mail
PatR [Wed, 16 Dec 2015 10:23:32 +0000 (02:23 -0800)]
scrolls written while blind; scrolls of mail

Make a fix suggested during beta testing:  you can read scrolls while
blind if you know the label, and you can write a scroll with a magic
marker while blind, but the result was flagged as description unknown
so you couldn't read the newly written scroll until regaining sight
or obtaining object identification.  So change writing a previously
discovered scroll while blind to set dknown since a successful write
always yields the type of scroll requested.  Getting lucky while
attempting to write an undiscovered scroll--which has to be done by
scroll's type name (for instance "food detection") rather than by its
label ("YUM YUM")--still leaves the description flagged as unknown
since hero hasn't seen the what sort of label the new scroll has.

Along the way I got side-tracked by the possibilty of writing a scroll
of mail.  It's allowed and yielded the same result as finding such a
scroll in bones, or wishing for one:  when read, it was junk mail from
Larn.  Make one written via marker give different feedback since it
comes from creation of a stamped scroll without any stamps available.

Also, suppress an "argument not used" warning for readmail().

9 years agofix bz157, #H4075 - 'realtime' had strange units
PatR [Wed, 16 Dec 2015 01:59:42 +0000 (17:59 -0800)]
fix bz157, #H4075 - 'realtime' had strange units

A couple of reports asked what weird unit of measure was used for the
'realtime' value in xlogfile.  It was just seconds, but was accumulating
incorrectly whenever game-state got saved for the checkpoint option.
Now it really is seconds, or rather whatever unit you get for the delta
of two time_t values; usually seconds but not guaranteed to be that.

9 years agodocument symset:default
nhmall [Tue, 15 Dec 2015 13:50:39 +0000 (08:50 -0500)]
document symset:default

 Changes to be committed:
modified:   doc/Guidebook.mn
modified:   doc/Guidebook.tex

9 years agofix bz60 and bz61 - meta char feedback
PatR [Tue, 15 Dec 2015 11:22:39 +0000 (03:22 -0800)]
fix bz60 and bz61 - meta char feedback

60: getpos() doesn't report the offending keystroke accurately when
rejecting M-something as a movement keystroke while moving the cursor;
61: typing M-N as a command keystroke produces
 |Unknown command 'M-
 |                 '.
where the '.' on the second line clobbers the top line of the map.

I can't reproduce the first one without extending the altmeta hack
[a run-time option to treat two char sequence ESC c as M-c] to getpos()
and nh_poskey(), which I've done for testing but am not including here.

I can't reproduce the second as it's described, but M-^J produces
 |Unknown command 'M-
 |'.--More--
and this fixes that, with a general fix that applies to any meta char.

The diffs include some cleanup/groundwork for maybe extending altmeta.

9 years agorevert doc/recover.{6,txt} to previous state
PatR [Mon, 14 Dec 2015 21:51:33 +0000 (13:51 -0800)]
revert doc/recover.{6,txt} to previous state

When I updated recover.6 last week, I was under the mis-impression that
the INSURANCE compile-time option had been made unconditional.  It has
not, and after undoing that, there was no substantive change, so put it
back to how it was at release.

9 years agofix #H4078 - dull spellbook vs sleep resistance
PatR [Mon, 14 Dec 2015 21:27:31 +0000 (13:27 -0800)]
fix #H4078 - dull spellbook vs sleep resistance

Reading a dull spellbook could make a sleep resistant hero fall asleep.

9 years agofix #40171 - tribute typo for The Colour of Magic
PatR [Mon, 14 Dec 2015 03:45:20 +0000 (19:45 -0800)]
fix #40171 - tribute typo for The Colour of Magic

Passage 1 of the Colour of Magic:  'bazaars' was misspelled 'bazarrs'.
There were a couple of other things that didn't match the paperback copy
I recently recovered from loan:  'radiation' should be 'radiations', and
'dark' was omitted from 'a tall dark figure'.

Unlike the later Harper editions, the early Signet ones retain British
spelling (at least for 'colour').  I failed to find the second passsage
via flipping through the pages, so wasn't able to proof-check that one.

9 years agoslightly change quickmimic() sense wording
nhmall [Mon, 14 Dec 2015 02:45:08 +0000 (21:45 -0500)]
slightly change quickmimic() sense wording

 Changes to be committed:
modified:   doc/fixes36.1
modified:   src/dogmove.c

A bug reporter wrote:
> comments:
> "You sense a little dog appear where Poes was!"
>
> seems strange to me, perhaps it should be "appearing", or the hero shouldn't
> notice at all if it's out of sight.
>
> Not sure it was out of sight, anyway, because I saw the d from the shop
> doorway.
>

Change the wording to:
"You sense that a little dog has appeared where Poes was!"

9 years agoa couple of false rumors
nhmall [Sun, 13 Dec 2015 18:34:47 +0000 (13:34 -0500)]
a couple of false rumors

9 years agocommit 8a13a4d2044264cf7427ba6a035021949788b5f1
PatR [Sun, 13 Dec 2015 14:15:54 +0000 (06:15 -0800)]
commit 8a13a4d2044264cf7427ba6a035021949788b5f1
Author: PatR <rankin@nethack.org>
Date:   Sun Dec 13 06:06:58 2015 -0800

    fix #H4066 - bug eating ring of protection

    Intrinsic protection of 0 (usually from having a gremlin steal divine
    protection, but also possible by eating a +0 ring of protection) does
    not contribute to "magic cancellation", the defense attribute that
    makes some special attacks fail.  That's intended.  Negative intrinsic
    protection (not possible from having divine protection, but turns out
    to be possible from eating negatively enchanted/charged rings of
    protection), did contribute.  That wasn't intended, so stop it.
    (Positive intrinsic protection gives a magic cancellation of 1 if worn
    armor doesn't provide any MC.)

9 years ago fix part of #H4062 - high priest name refusal
PatR [Sun, 13 Dec 2015 04:56:46 +0000 (20:56 -0800)]
fix part of #H4062 - high priest name refusal

    High priests used a different message to refuse accepting a user-supplied
    name than regular temple priests because they're flagged as unique.  The
    effect was cosmetic; it didn't reopen the hole that let you recognize
    which high priest was which via the 'C' command on the Astral Plane.

    [I never received the mail for #H4062 but saw it in bugzilla.]

9 years agofix #H4047 - dipping inconsistency
PatR [Sun, 13 Dec 2015 03:41:35 +0000 (19:41 -0800)]
fix #H4047 - dipping inconsistency

Dip the scroll labeled LEP GEX VEN ZEA into the fountain?
Your scroll called light fades.

The first prompt deliberately avoided 'called', 'named', and other
attributes to keep it short, but the discrepancy here is blatant, so
increase the verbosity in order to have the reminder that's included
in the prompt be the same as object name in the followup message.

Bonus fix, noticed while testing it:  water_damage() was reporting
the "{blank,unlabeled} scroll fades" even though blank scrolls are
already as faded as they can get.  Likewise for blank spellbook.

9 years agofix bz55 - wrong plural for slice of cake
PatR [Sun, 13 Dec 2015 02:59:21 +0000 (18:59 -0800)]
fix bz55 - wrong plural for slice of cake

Entered in bugzilla prior to release:  "slice of birthday cake" became
"slouse of birthday cake" when made plural.  "slice of pizza" used to
work, but adding an entry for "louse" <-> "lice" to one of the special
handling lists for singular/plural broke "slice" since only a trailing
substring match is performed for entries in that particular list.

9 years agofix #H4061 - uncursed scroll of enchant armor
PatR [Sun, 13 Dec 2015 02:08:11 +0000 (18:08 -0800)]
fix #H4061 - uncursed scroll of enchant armor

In 3.4.3, reading an uncursed scroll of enchant armor while wearing
a piece of cursed armor performed an uncurse as well as raising
enchantment.  A fairly big patch to redo how pending shop bills were
affected by altering the items on the bill accidentally took away
the uncurse part when modifying the scroll code to use the bless()/
uncurse()/curse() functions instead of manipulating the armor's
blessed and cursed flags directly.

9 years agonaming artifacts vs illiteracy
PatR [Sat, 12 Dec 2015 09:55:44 +0000 (01:55 -0800)]
naming artifacts vs illiteracy

Requested by a beta tester back in June:  naming Sting or Orcrist
violates illiterate conduct.  I left it at that; any object naming
could be construed as being literate, but I don't think breaking
conduct for doing such would be a good idea.

9 years agovampire genocide could produce unkillable critter
PatR [Sat, 12 Dec 2015 08:34:16 +0000 (00:34 -0800)]
vampire genocide could produce unkillable critter

Vampires who were currently shape-shifted into a fog cloud, bat, or wolf
became an unkillable fog could, bat, or wolf if the player genocided
vampires.  When such a creature was killed, the attempt to transform it
back into a vampire failed, but the monster continued to be resurrected
anyway.

9 years agofix windows bugs H4030 and H4045 (123 and 138)
nhmall [Sat, 12 Dec 2015 04:08:01 +0000 (23:08 -0500)]
fix windows bugs H4030 and H4045 (123 and 138)

 Changes to be committed:
modified:   sys/share/pcmain.c
modified:   sys/winnt/nttty.c
modified:   sys/winnt/stubs.c

Bug 123 Report 4030:
Minor thing I've noticed - if I quit the game, at the "Hit <Enter> to end."
prompt, if I close the window rather than pressing Enter, I get the following:

Bug 138  - #H4045:
 "nethack -s" leads to "-s is not supported for the Graphical Interface".
 That's wrong.
 (The Graphical Interface comes with "nethackw".)

9 years agoFix #H4014: still crashing on MacOS 10.11
Jean-Christophe Collet [Fri, 11 Dec 2015 16:02:28 +0000 (17:02 +0100)]
Fix #H4014: still crashing on MacOS 10.11

9 years agofix #H4039 - symset:default
PatR [Fri, 11 Dec 2015 10:36:56 +0000 (02:36 -0800)]
fix #H4039 - symset:default

Options parsing didn't support "default" (shown by the 'O' command)
or "Default symbols" (menu entry for choosing a symbol set via the
'O' command.  Symbol handling is somewhat confusing, but this seems to
do the trick.  They can't be truncated, but they're case-insensitive,
and "Default" and "symbols" can be separated by dash or underscore as
well as space, or run-together with no separator.

9 years agosys/vms/*.c - mostly reformatting
PatR [Fri, 11 Dec 2015 02:42:27 +0000 (18:42 -0800)]
sys/vms/*.c - mostly reformatting

I'm not sure whether basic formatting cleanup belongs in 3.6.1, but
there are also a couple of strings that got split and require the
implicit concatenation of adjacent string literals introduced with
C89/C90.  The code itself compiles with pre-ANSI compilers, or at
least used to--most of it was developed with one....

Much of it is tabs in comments.  But there was one substantive item:
an obsolete reference to "use 'Q' to Quit" after however many years....

9 years agofix #H4035 - msg when wand zapped by mon explodes
PatR [Fri, 11 Dec 2015 02:11:12 +0000 (18:11 -0800)]
fix #H4035 - msg when wand zapped by mon explodes

Message given when you see a cursed wand explode while being zapped
by a monster got suppressed if hero was deaf, even though there's no
reference to sound in that message.  Change it to ignore deafness;
also, change the alternate message when not visible (which uses
You_hear so already gets suppressed when deaf without caller worrying
about it) use "nearby" or "in the distance" with same criteria as
hearing a wand being zapped, instead of always "in the distance".

I also changed the near/far criteria:  threshold to be considered
"far" shrinks from 9 steps to 5 when there's no direct line of sight.

9 years agorevert fixes36.0
nhmall [Fri, 11 Dec 2015 00:10:26 +0000 (19:10 -0500)]
revert fixes36.0

9 years agoroll back doc/fixes36.0 to released version
nhmall [Thu, 10 Dec 2015 15:55:06 +0000 (10:55 -0500)]
roll back doc/fixes36.0 to released version

9 years agoreset fixes36.0
nhmall [Thu, 10 Dec 2015 15:54:00 +0000 (10:54 -0500)]
reset fixes36.0

9 years agofixes updates for win32gui
nhmall [Thu, 10 Dec 2015 12:51:33 +0000 (07:51 -0500)]
fixes updates for win32gui

 Changes to be committed:
modified:   doc/fixes36.0
modified:   doc/fixes36.1
modified:   win/win32/mhsplash.c
modified:   win/win32/mswproc.c

9 years agofix #H4038 - distant name vs Eyes of the Overworld
PatR [Thu, 10 Dec 2015 09:34:09 +0000 (01:34 -0800)]
fix #H4038 - distant name vs Eyes of the Overworld

distant_name() temporarily blinded the hero before calling xname() or
doname() in order to prevent the object being formatted from having
its dknown flag set.  The Eyes of the Overworld override blindness, so
that bit got set for heros wearing them regardless of intention.  This
switches to a file-scope global instead of blindness as the way that
distant_name() tells xname() not to set dknown.

This bug has been present ever since the Eyes were added (3.3.0?).

9 years agofruit enlightenment
PatR [Thu, 10 Dec 2015 08:36:01 +0000 (00:36 -0800)]
fruit enlightenment

Move the 'if (wizard) { /* give feedback for named fruit */ }' code
in ^X/enlightenment into an #if DEBUG block, and expand the if (wizard)
predicate with '&& explicitdebug("fruit")' to require that 'fruit' be in
DEBUGFILES.  So, build with DEBUG enabled and run via
 |% DEBUGFILES='fruit' nethack
to get it back....

This isn't actually a bug fix and it isn't necessary for 3.6.1, but I
got tired of seeing ^X and end-of-game disclosure of attributes end with
three lines about fruit when I'm not doing anything with named fruit.

9 years agoUpdate sysconf MAXPLAYERS docs a bit
Pasi Kallinen [Thu, 10 Dec 2015 08:14:24 +0000 (10:14 +0200)]
Update sysconf MAXPLAYERS docs a bit

9 years agodoc/fixes36.1 - get it started...
PatR [Thu, 10 Dec 2015 08:06:52 +0000 (00:06 -0800)]
doc/fixes36.1 - get it started...

9 years agoAllow unlimited number of players
Pasi Kallinen [Wed, 9 Dec 2015 20:27:22 +0000 (22:27 +0200)]
Allow unlimited number of players

This is important for public servers.  Setting the MAXPLAYERS
sysconf value to 0 (or commenting it out) constructs the lock
files with the player UID and player name, so each player may
have one game at a time.

9 years agoFix history stating 3.5 Amiga and Atari ports existed
Pasi Kallinen [Wed, 9 Dec 2015 15:44:15 +0000 (17:44 +0200)]
Fix history stating 3.5 Amiga and Atari ports existed

9 years agofix #H4026 - silly plural bug
PatR [Wed, 9 Dec 2015 13:56:40 +0000 (05:56 -0800)]
fix #H4026 - silly plural bug

When a stack of corpses gets zapped by undead turning, the message was
"The <foo> corpses glows iridescently."  Change it to "One of the <foo>
corpses glows iridescently." since only one of the stack gets revived.

9 years agofix #H3994 - cursed genocide is inconsistent
PatR [Wed, 9 Dec 2015 07:12:28 +0000 (23:12 -0800)]
fix #H3994 - cursed genocide is inconsistent

After reading a cursed scroll of genocide, explicitly choosing "none"
when asked to pick what type of monster to wipe out, you get "sent in
some <rndmonst>".  But picking nothing (or something invalid) 5 times
gave "that's enough tries" without sending in random monsters.  Make
the time-to-give-up behavior be the same as the don't-want-to behavior.

Also, treat picking ESC the same as "none", like blessed genocide does.

9 years agofix #H4011 - sys/unix/Makefile.top
PatR [Wed, 9 Dec 2015 00:39:39 +0000 (16:39 -0800)]
fix #H4011 - sys/unix/Makefile.top

Some commented make variables for X11 misspelled 'pilemark.xbm' with
bad '.xbm' suffix.

'symbols' was handled strangely, but it still should have been working
during playground installation.  This removes the strangeness but I have
no idea whether it solves #H4015 ('unable to access "symbols" file' for
the Mac OSX binary).

9 years agoman page updates
PatR [Tue, 8 Dec 2015 23:15:00 +0000 (15:15 -0800)]
man page updates

Update the man pages and generated text copies for nethack and recover.
I haven't looked at the other four (dlb, makedefs, dgn_comp, lev_comp).

recover's page referred to INSURANCE as being conditional, which is no
longer the case.  nethack's page was missing a bunch of files to be
found in the playground and also a couple of environment variables.
I haven't read through the text of the page to try to see whether other
updates are warranted.

The generated text is wider than the previous copy (one or two space
right margin instead of 5 or so).  I just used 'make nethack.txt' and
'make recover.txt' so don't know why that changed.  (The older, wider
margin looks better, so if anyone knows how to fix this, please do.
And there's got to be a better way to force a blank line inside a
table than my <space><tab> hack.)

9 years agoupdate sys/share/{dgn,lev}_lex.c
PatR [Tue, 8 Dec 2015 22:52:01 +0000 (14:52 -0800)]
update sys/share/{dgn,lev}_lex.c

The HP C compiler for VMS issued a pair of diagnostics for both *_lex.c
files, about an expression of the form (unsigned_var <= 0) maybe not
being what was really intended, and it was right.  Changing that to
'< 1' would have suppressed the diagnostic but left the bug, which was
in code that performed a subtraction and then checked for a negative
result.  It worked in older flex versions when the variables were
signed, but got broken when they were changed to unsigned (no doubt in
respose to gcc complaining about comparing signed and unsigned in some
other spot where one of them was used).

The bug is in flex's original skeleton, so was inherited by our new
custom skeleton.  I've fixed it in the custom skeleton, which means
that sys/share/*_lex.c became out of date even though util/*_comp.l
remain unchanged.

9 years agodat/data.base update from master
nhmall [Tue, 8 Dec 2015 22:39:46 +0000 (17:39 -0500)]
dat/data.base update from master
 Changes to be committed:
modified:   dat/data.base

9 years agodoclassdisco() - missing start_menu() call
PatR [Tue, 8 Dec 2015 15:21:48 +0000 (07:21 -0800)]
doclassdisco() - missing start_menu() call

Apparently tty doesn't mind if you use add_menu() without preceding
it with start_menu(), because doclassdisco() (the new with 3.6.0 '`'
command) works for me with all four settings of menustyle.

9 years agofix a 'program in disorder' in tt_oname NetHack-3.6.0_RC05 NetHack-3.6.0_Release
nhmall [Mon, 7 Dec 2015 11:48:05 +0000 (06:48 -0500)]
fix a 'program in disorder' in tt_oname
 Changes to be committed:
modified:   win/win32/winhack.c

sys_early_init was never called for win32 GUI. That was causing "rnd(0) -
program in disorder" in tt_oname.

9 years agoanother Files update NetHack-3.6.0_RC04
nhmall [Mon, 7 Dec 2015 01:38:02 +0000 (20:38 -0500)]
another Files update

Might as well add Keni's change since Pat added a VMS change.

9 years agoadd missing sys/vms/sysconf
PatR [Mon, 7 Dec 2015 00:47:20 +0000 (16:47 -0800)]
add missing sys/vms/sysconf

SYSCF is enabled by default, but nethack won't run without the required
sysconf file.  sys/vms/install.com expects to find a template one in
sys/vms/sysconf so create that.

Since the tarball will need repackaging, fix a comment typo (dyslexic
spelling of "nymph") in sys/unix/sysconf.  Also, move DEBUGFILES to the
bottom so that more useful entries move up.  And expand the comment for
the PANICTRACE options.

9 years agomark some as untested NetHack-3.6.0_RC03
nhmall [Sun, 6 Dec 2015 18:06:59 +0000 (13:06 -0500)]
mark some as untested
 Changes to be committed:
modified:   Files

Also: vms was already listed as "untested in 3.6.0", but should it be?

9 years agoupdate Files to reflect tarball
nhmall [Sun, 6 Dec 2015 17:49:59 +0000 (12:49 -0500)]
update Files to reflect tarball
  Changes to be committed:
modified:   Files

9 years agoUpdate Guidebook dates to reflect release NetHack-3.6.0_RC02
nhmall [Sun, 6 Dec 2015 16:50:39 +0000 (11:50 -0500)]
Update Guidebook dates to reflect release
 Changes to be committed:
modified:   doc/Guidebook.mn
modified:   doc/Guidebook.tex
modified:   doc/Guidebook.txt

9 years agounix/Makefile.utl: tweak lex/yacc postprocessing
PatR [Sun, 6 Dec 2015 07:26:41 +0000 (23:26 -0800)]
unix/Makefile.utl: tweak lex/yacc postprocessing

9 years agosys/share/???_lex.c
PatR [Sun, 6 Dec 2015 07:02:35 +0000 (23:02 -0800)]
sys/share/???_lex.c

Generated with flex 2.6.0 and a new custom skeleton for that version
(which almost certainly won't work with any older or newer version of
flex, but that limitation has no effect on the usefulness of the
generated scanner code).

Function definitions are oldstyle:
  int foo(bar)
    char *bar;
  {...}
rather than ANSI, like nethack's core code.  Advance declarations use
FDECL for prototypes, so should also fit nethack, although the usage
'FDECL(, (arglist))' makes me feel a bit uneasy.  gcc doesn't mind the
omitted first argument but other compilers might not like it.

The system headers (stdlib.h and a few others) that flex has been
insisting on including are gone (with this skeleton).  It starts out
including "config.h" and that header has the responsibility for any
definitions and declarations necessary.  That shouldn't be a big deal
since config.h -> XXXconf.h -> system.h is what we're already relying
on for everything else, but it does need testing for any configuration
that uses sys/share/{dgn,lev}_{lex,yacc}.c.

I'll be checking the skeleton into the NHinternals repository after
adding some documentation, but I'm wondering whether it should really
become part of the source distribution.

9 years agoutil/???_comp.l
PatR [Sun, 6 Dec 2015 06:59:56 +0000 (22:59 -0800)]
util/???_comp.l

A couple of minor changes, perparatory to regenerating sys/share/???_lex.c
with flex-latest plus new custom skeleton for same.

9 years agoRelease prep step - set BETA_INFO to empty string
nhmall [Sat, 5 Dec 2015 15:09:28 +0000 (10:09 -0500)]
Release prep step - set BETA_INFO to empty string
 Changes to be committed:
modified:   src/version.c

9 years agoPANICTRACE option parsing
PatR [Sat, 5 Dec 2015 06:18:17 +0000 (22:18 -0800)]
PANICTRACE option parsing

Fix the situation where disabling PANICTRACE, which happened implicitly
when BETA  got disabled, caused SYSCF option processing to complain and
quit if the 'sysconf' file contained any PANICTRACE settings.

Now accept all the PANICTRACE options (assuming SYSCF is defined) even
if PANICTRACE is not defined.  Their values are recorded in the 'sysopt'
struct, but only validated when the appropriate macros (PANICTRACE,
PANICTRACE_LIB) are defined.

9 years ago"Bad option line" formatting
PatR [Sat, 5 Dec 2015 02:52:51 +0000 (18:52 -0800)]
"Bad option line" formatting

Change
  |Bad option line:  "foo
  |"
to
  |Bad option line: "foo"
by stripping away the input line's newline before processing it.

(This doesn't address the PANICTRACE options processing issue.)

9 years agoMerge branch 'NetHack-3.6.0' of https://rodney.nethack.org:20040/git/NHsource into...
nhmall [Sat, 5 Dec 2015 01:05:22 +0000 (20:05 -0500)]
Merge branch 'NetHack-3.6.0' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6.0

9 years agoTry to be consistent in declared O/S versions
nhmall [Sat, 5 Dec 2015 01:03:38 +0000 (20:03 -0500)]
Try to be consistent in declared O/S versions
 Changes to be committed:
modified:   README

9 years ago!DEBUG warnings
PatR [Fri, 4 Dec 2015 22:58:49 +0000 (14:58 -0800)]
!DEBUG warnings

With DEBUG suppressed, I started getting
16      warning: empty body in an if-statement
and 2   warning: empty body in an else-statement
from gcc.

Using braces for an empty block instead of just ';' avoids the warning:
    if (foo)
        debugpline("foo");
is bad,
    if (bar) {
        debugpline("bar");
    }
is good.  ;-)

The changes to lint.h are just precautionary.

modified:
    include/lint.h
    src/attrib.c, bones.c, dbridge.c, dig.c, eat.c,
        makemon.c, mkmaze.c, mon.c, sp_lev.c

9 years agomalloc/realloc for makedefs
PatR [Fri, 4 Dec 2015 22:56:14 +0000 (14:56 -0800)]
malloc/realloc for makedefs

Use of malloc() and realloc() has been added to makedefs but they
weren't being declared anywhere if <stdlib.h> is not available.

9 years agolev_yacc and lev_lex from master
nhmall [Fri, 4 Dec 2015 12:57:35 +0000 (07:57 -0500)]
lev_yacc and lev_lex from master

9 years ago'pull' prebuilts from master into release branch
nhmall [Fri, 4 Dec 2015 12:46:21 +0000 (07:46 -0500)]
'pull' prebuilts from master into release branch

9 years ago'Merge' prebuilts from master
nhmall [Thu, 3 Dec 2015 09:23:53 +0000 (04:23 -0500)]
'Merge' prebuilts from master

9 years agomore windows DEBUG
nhmall [Thu, 3 Dec 2015 04:24:34 +0000 (23:24 -0500)]
more windows DEBUG

9 years agowindows build without DEBUG defined in global.h
nhmall [Thu, 3 Dec 2015 04:19:04 +0000 (23:19 -0500)]
windows build without DEBUG defined in global.h
 Changes to be committed:
modified:   include/global.h
modified:   sys/share/pcmain.c
modified:   win/win32/mswproc.c

9 years agoRelease prep 1
nhmall [Thu, 3 Dec 2015 00:10:12 +0000 (19:10 -0500)]
Release prep 1
Changes to be committed:
modified:   include/global.h
modified:   include/patchlevel.h

9 years agoUpdate precompiled lev_comp lex and yacc files
Pasi Kallinen [Wed, 2 Dec 2015 16:33:44 +0000 (18:33 +0200)]
Update precompiled lev_comp lex and yacc files

9 years agolint cleanup
PatR [Wed, 2 Dec 2015 10:36:29 +0000 (02:36 -0800)]
lint cleanup

A couple of things 'gcc -g' didn't care about 'gcc -O2' mistakenly
thinks 'may be used uninitialized'.

9 years agosp_lev.c update
PatR [Wed, 2 Dec 2015 10:18:24 +0000 (02:18 -0800)]
sp_lev.c update

Shorten a function name in sp_lev.c that exceeded 31 characters.
That's a limit imposed by the VMS linker and the compiler complains
that it will be truncated.

Make all sp_lev.c functions which aren't listed in extern.h be static
and give all of them a declaration at the top of the file.  I reordered
the ones already declared there in the same order as they occur in the
source, so the diff is quite a bit bigger than the actual changes.
(Once the one with the long name became static, the length of its name
no longer mattered, but I've shortened it anyway.)

Indent a couple of #pragma directives.  Some pre-ANSI compiler didn't
like '#' in column 1 followed by something it didn't understand, even
when that occurred in a conditional block which was in the midst of
being excluded.  (util/*_comp.y recently reminded me of that.  files.c
should get a fix like this too.)

9 years agoFrom KevinS: update sys/vms/install.com
PatR [Wed, 2 Dec 2015 01:50:40 +0000 (17:50 -0800)]
From KevinS: update sys/vms/install.com

Include a template sysconf file when setting up the playground directory.
TODO: provide a sys/vms/sysconf template sysconf file....

9 years agoFrom KevinS: sys/vms/Install.vms
PatR [Tue, 1 Dec 2015 09:49:36 +0000 (01:49 -0800)]
From KevinS: sys/vms/Install.vms

This could use a bit of reformatting.  I stripped off trailing spaces
from a handful of lines but otherwise have kept it as is since the
formatting issue is minor.

9 years agocmdhelp: annotate, overview, ride NetHack-3.6.0_RC01
PatR [Tue, 1 Dec 2015 02:23:42 +0000 (18:23 -0800)]
cmdhelp: annotate, overview, ride

Same as with the Guidebook:  M-A, M-O, and M-R were each marked
"(if supported)" even though they've become unconditional.

9 years agoGuidebook: #annotate, #overview
PatR [Mon, 30 Nov 2015 21:49:43 +0000 (13:49 -0800)]
Guidebook: #annotate, #overview

Another issue from old beta-tester mail:  #annotate and #overview were
missing from the list of extended commands.  M-A and M-O were listed
but marked "(if supported)" even though they've become unconditional.
Same for M-R, although in its case #ride wasn't missing.

9 years agoGuidebook: implicit_uncursed
PatR [Mon, 30 Nov 2015 20:59:17 +0000 (12:59 -0800)]
Guidebook: implicit_uncursed

Some old beta-tester mail suggested mentioning the implicit_uncursed
option in the "Curses and Blessings" section; this patch does that.
It also mentions that option in the "Configuring Menu Colors" section
since anyone trying to specify a color for " uncursed " will want
objects to be explicitly described as "uncursed".

The changes to the LaTeX version haven't been tested.  The generated
plain text version has a lot of spurious changes due to the padding
method it uses to right-justify short lines.

9 years agotribute: I Shall Wear Midnight
PatR [Mon, 30 Nov 2015 11:33:27 +0000 (03:33 -0800)]
tribute: I Shall Wear Midnight

9 years agodungeon overview bug fixes
PatR [Mon, 30 Nov 2015 05:46:24 +0000 (21:46 -0800)]
dungeon overview bug fixes

Reported by a beta tester months ago:  it was possible to recognize
your god's temple on the Astral Plane by stepping into its doorway,
since #overview would show "temple of <your god>" (only if just one
temple had been entered and the altar in it was the only one you'd
seen and it was for your own god; #overview doesn't show "temple of
<other god>", just "a temple").  After this fix it will just show
"a temple" even when you can see the temple's altar, so #overview
can't be used as a shortcut to finding the right temple.

While testing the fix I discovered that amnesia wasn't handled when
forgetting the current level's map, only when other levels got
flagged as forgotten.  The number of altars, fountains, and so on
are recalculated when #overview is executed, so current-level amnesia
worked for those.  But data about known rooms is not recalculated,
so the number of temples and shops you'd visited on the level stayed
instead of being forgotten.  The fix is a bit iffy for the case where
you only forget random spots scattered across the level's map rather
than the whole thing; this just wipes #overview memory of every room
even if parts of rooms are still remembered.

9 years agolexing updates (sys/unix/Makefile.utl)
PatR [Sat, 28 Nov 2015 11:46:33 +0000 (03:46 -0800)]
lexing updates (sys/unix/Makefile.utl)

Change the 'make' rules for *_lex.c, *_yacc.c, and *_comp.h to put
the end files names into whatever #line directives that refer to
the generated names (lex.yy.c, y.tab.c, y.tab.h).  This should not
produce any change in behavior during compilation except to provide
more accurate specifications of where any warnings or errors occur.

Add a 'make dist' target that copies generated scanner and parser
files to sys/share.  (As mentioned in the previous patch, I haven't
committed any of those since I have different versions of flex and
also of bison.)

9 years agolexer updates
PatR [Sat, 28 Nov 2015 11:38:03 +0000 (03:38 -0800)]
lexer updates

Bump the number of nodes (%e) specified in lev_comp.l so that the lex
on Solaris doesn't choke.  flex doesn't use those paramters (%e, %p,
and a few others), so this change gets accepted but hasn't been
adequately tested to verify that it solves the problem.

Reformat some of the C code at the end of dgn_comp.l and lev_comp.l;
going through the whole thing isn't worth the effort, particularly
since flex generates such a mess in the rest of the code it produces.

I haven't updated sys/share/*_lex.c and they definitely need it now.
I've got an older version of flex than the one that was used on the
code that's there now, and the most recent version.  Both of those
produce different code--the stuff that's there now has been through
more testing so whatever version was used for it ought to be used for
new editions.

9 years agoredo Guidebook.txt in ASCII text
PatR [Fri, 27 Nov 2015 08:44:26 +0000 (00:44 -0800)]
redo Guidebook.txt in ASCII text

9 years agoquest message summary debugging code
PatR [Thu, 26 Nov 2015 12:30:55 +0000 (04:30 -0800)]
quest message summary debugging code

How that there's nothing left to trigger it, put in some extra quest
messge debugging code.  Could be useful if new roles are added or if
any deliver-by-pline messages get changed to be deliver-by-window.

9 years agoquest message summaries: Val and Wiz
PatR [Thu, 26 Nov 2015 12:24:56 +0000 (04:24 -0800)]
quest message summaries: Val and Wiz

These are the last.  All the %Cc messages should now have one-line
summaries that can be stuffed into the ^P message history buffer.

9 years agotribute: Unseen Academicals
PatR [Thu, 26 Nov 2015 11:15:10 +0000 (03:15 -0800)]
tribute: Unseen Academicals

9 years agoquest message summaries: Rog, Sam, Tou
PatR [Thu, 26 Nov 2015 08:11:43 +0000 (00:11 -0800)]
quest message summaries: Rog, Sam, Tou

The samurai ones leave something to be desired since they make no
attempt to include Japanese terminology or to make sure the tone stays
appropriate to a samurai's honor.

9 years agodog/cat/rat/ape body parts
PatR [Thu, 26 Nov 2015 00:09:33 +0000 (16:09 -0800)]
dog/cat/rat/ape body parts

Another bit prompted by vibrating square testing:
 |You see a strange vibration beneath the little dog's rear claws.

Fix up some body parts:  dog, cat, and yeti-class (includes sasquatch,
monkey and ape, owlbear) already have "paws" instead of "fore claws".
Take away all 'Y' except owlbear from that list and add rodents to it.
Give them "rear paws" instead of "rear claws" for their feet; for legs,
use "foreleg" instead of "forelimb" and "read leg" instead of "rear limb".

For yeti/sasquatch/monkey/ape/carnivorous-ape, switch from paws to hands
since they have opposable thumbs, and switch to arm, leg, foot instead
of forelimb, rear limb, and rear claw.  I've left "fore claw" for finger.

9 years agotrap creation sanity check
PatR [Wed, 25 Nov 2015 22:56:58 +0000 (14:56 -0800)]
trap creation sanity check

Noticed while testing the look-at vs vibrating square patch:  I was
able to cover stairs with a trap via wizard mode wish.  That wish can
achieve a lot of irregular things, but prevent this particular one.

9 years agolook_at tweak
PatR [Wed, 25 Nov 2015 20:16:00 +0000 (12:16 -0800)]
look_at tweak

When examining a trap with '/' or ';', show
 |a trap (arrow trap)
instead of
 |a trap or a vibrating square (arrow trap)
outside of Gehennom (unless the trap actually is a vibrating square,
which could happen via wizard mode wish).  The extra verbosity is
distracting, and limiting mention of the vibrating square to the region
where it's relevant may give a hint to players getting that far for the
first time.

9 years agoMore fixes entries
Pasi Kallinen [Wed, 25 Nov 2015 11:01:34 +0000 (13:01 +0200)]
More fixes entries

9 years agoUpdate fixes to reflect multiple weakened farming strats
Pasi Kallinen [Wed, 25 Nov 2015 10:55:56 +0000 (12:55 +0200)]
Update fixes to reflect multiple weakened farming strats

9 years agotribute: Making Money
PatR [Wed, 25 Nov 2015 10:20:19 +0000 (02:20 -0800)]
tribute: Making Money