Commit Graph
8306 Commits
Author SHA1 Message Date
nhmall 75f293c369 add VERSION_IN_DLB_FILENAME to makedefs detection 2019-05-12 15:14:31 -04:00
nhmall bcd05308aa 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.
2019-05-12 14:51:26 -04:00
nhmall 717829627a add windows startup msg fix to fixes36.3 2019-05-11 22:04:56 -04:00
nhmall 24fa83e5dc Report of no error msg deliverd by NetHackw.exe for some startup issues 2019-05-11 21:55:27 -04:00
PatR 4a1f1292d9 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.
2019-05-11 03:04:53 -07:00
PatR 0ef58589f1 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.]
2019-05-10 15:21:59 -07:00
nhmall 7f64422ca4 comment bit 2019-05-10 15:08:59 -04:00
nhmall 5f56440956 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.
2019-05-10 14:59:03 -04:00
nhmall dd93a1b0d4 ensure go-forward builds of branch NetHack-3.6 don't still say 3.6.2 2019-05-10 13:47:59 -04:00
nhmall a60e4f5dc6 try to extract a bit more info from impossible obfree: not on bill 2019-05-10 13:11:39 -04:00
PatR 0f6346f372 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'.
2019-05-09 17:15:14 -07:00
nhmall aeb3c7a623 new fixes36.3 2019-05-08 19:32:35 -04:00
nhw_cron 76090dd648 This is cron-daily v1-Feb-22-2019. guidebook updated: doc/Guidebook.txt 2019-05-07 15:34:05 -04:00
nhmall 39320dec2b NetHack 3.6.2 release-related updates 2019-05-07 14:39:24 -04:00
nhmall cf2a9b7797 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-05-07 14:11:33 -04:00
keni 5676508180 Guidebook.mn: drop unneeded escaping 2019-05-07 13:53:24 -04:00
nhmall 85698f00dd top level Files take 2 2019-05-07 09:10:48 -04:00
nhmall bafd244df4 Make Files match the most recent beta version 2019-05-07 08:53:43 -04:00
nhmall c8777ea7ca 3.6.2 release bits into Guidebook 2019-05-07 08:40:46 -04:00
nhmall cd1d227525 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-05-05 23:20:34 -04:00
PatR a08c0ed2ab VMS update
Long overdue.  Install.vms ought to be rewritten from scratch but that
will probably never happen.
2019-05-05 16:56:58 -07:00
PatR 6127c10848 comment/formatting tidbits
Some miscellaneous stuff I don't want to discard of lose track of.
No change it actual code.
2019-05-05 15:20:09 -07:00
PatR e2eeca2ed0 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.
2019-05-05 14:48:43 -07:00
PatR fcd38bdbef couple of interface comments 2019-05-05 13:38:58 -07:00
PatR a8550fc0e7 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.
2019-05-05 13:33:30 -07:00
Pasi Kallinen bed2c2307e 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.
2019-05-05 22:58:27 +03:00
Pasi Kallinen f55e9ddd7c Fix impossible if monster cannot be relocated from tele region 2019-05-05 22:30:20 +03:00
nhmall 40e7eb7e2a sync recent wording change in history 2019-05-05 14:16:49 -04:00
nhmall e10a3a8f41 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-05-05 13:36:45 -04:00
nhmall 79cc1aa01a Merge branch 'NetHack-3.6.2-beta01' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6.2-beta01 2019-05-05 13:34:38 -04:00
nhmall c74e36a359 some updates for 3.6.2 2019-05-05 13:33:59 -04:00
keni fe055cd6bc This is cron-daily v1-May-5-2019. guidebook updated: doc/Guidebook.txt
to 948099800b722f9be0e8f9c8d4d96cfda5cea98e
2019-05-05 13:32:53 -04:00
nhmall aa94be62b2 some updates for 3.6.2 2019-05-05 13:29:40 -04:00
PatR 86195d4ad2 display.c formatting
Miscellaneous cleanup of display.c.
2019-05-02 15:22:29 -07:00
nhmall 47e73f1127 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-05-01 09:06:37 -04:00
Pasi Kallinen f303fd2872 Database fixes
Merge barbed devil entry to already existing one.
Replace spaces in the beginning of lines with tabs.
2019-05-01 13:38:57 +03:00
PatR 0dc85b93b4 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.
2019-04-30 11:35:06 -07:00
nhmall 12b183d221 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-29 13:52:06 -04:00
Pasi Kallinen f17cfc977b Add the missing int param 2019-04-29 20:45:18 +03:00
Pasi Kallinen 1a4223faac Unify code for cure self spell 2019-04-29 18:50:08 +03:00
nhmall ae5d39b863 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-29 07:49:58 -04:00
PatR c4ae9115cb 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].
2019-04-28 17:32:16 -07:00
nhmall e1834d5b5f Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-26 19:47:18 -04:00
PatR 75db8e004d 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.)
2019-04-25 07:11:42 -07:00
nhmall bf16336241 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-24 21:16:07 -04:00
PatR f838967c04 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.
2019-04-24 16:59:44 -07:00
PatR f441696908 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.
2019-04-24 14:02:09 -07:00
nhmall b2459229da Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-22 14:31:18 -04:00
nhmall 82353f1965 enum bit 2019-04-22 14:27:41 -04:00
nhmall dcf4da2150 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.
2019-04-22 14:17:18 -04:00