]> granicus.if.org Git - nethack/log
nethack
5 years agohard quit vs botl
PatR [Sun, 1 Mar 2020 00:44:48 +0000 (16:44 -0800)]
hard quit vs botl

For
 Really quit? [yn] y
 Dump core? [ynq] q
skip the final status update.  Noticeable when debugging and some
status breakpoints are set.

5 years agoMerge
nhmall [Sat, 29 Feb 2020 23:49:16 +0000 (18:49 -0500)]
Merge

5 years agosince sole argument to set_duplicate_opt_detection was unused, eliminate it altogether
nhmall [Sat, 29 Feb 2020 23:47:34 +0000 (18:47 -0500)]
since sole argument to set_duplicate_opt_detection was unused, eliminate it altogether

5 years agosome warnings
nhmall [Sat, 29 Feb 2020 23:36:03 +0000 (18:36 -0500)]
some warnings

5 years agooptions follow-up: fix up duplicate_option_detection and !pet
nhmall [Sat, 29 Feb 2020 22:54:41 +0000 (17:54 -0500)]
options follow-up: fix up duplicate_option_detection and !pet

5 years agominor flavor bit of the day
nhmall [Sat, 29 Feb 2020 18:57:31 +0000 (13:57 -0500)]
minor flavor bit of the day

5 years agohaste timeout, vomit countdown feedback
PatR [Fri, 28 Feb 2020 21:30:59 +0000 (13:30 -0800)]
haste timeout, vomit countdown feedback

Change a couple of messages.  When speed/haste-self times out:
"you feel yourself slowing down" -> "you feel yourself slow down"
because the former was too close to the turn-to-stone countdown and
the loss of speed is immediate rather than gradual.

The vomiting countdown causes confusion and stun; vary the messages
for those if already confused or stunned:
"you feel slightly confused" -> "you feel slightly more confused";
"you can't seem to think straight" -> "you can't think straight".

5 years agoAllow coord in place of x and y in special level lua script
Pasi Kallinen [Fri, 28 Feb 2020 20:14:36 +0000 (22:14 +0200)]
Allow coord in place of x and y in special level lua script

5 years agoX11/winstat.c formatting
PatR [Thu, 27 Feb 2020 19:51:10 +0000 (11:51 -0800)]
X11/winstat.c formatting

Separate out the reformatting from other changes I'm working on
for X11 "fancy status".  Splits a few wide lines but mostly just
switches to the X11 idiom of combining
 XSetArg(arglist[argcount], ...);
 argcount++;
onto one line:
 XSetArg(arglist[argcount], ...); argcount++;

5 years agobotl update for trapped/untrapped
PatR [Thu, 27 Feb 2020 10:26:57 +0000 (02:26 -0800)]
botl update for trapped/untrapped

Make set_utrap() set context.botl when changing between untrapped and
trapped or vice versa.

5 years agoupdate a parameter in some ancient platforms
nhmall [Thu, 27 Feb 2020 02:53:07 +0000 (21:53 -0500)]
update a parameter in some ancient platforms

5 years agofix build break when there's no #define for CLIPPING
nhmall [Thu, 27 Feb 2020 02:38:38 +0000 (21:38 -0500)]
fix build break when there's no #define for CLIPPING

5 years agoThis is cron-daily v1-Jan-20-2020. files updated: Files
nhw_cron [Wed, 26 Feb 2020 20:17:08 +0000 (15:17 -0500)]
This is cron-daily v1-Jan-20-2020.  files updated: Files

5 years agofixes entry
nhmall [Wed, 26 Feb 2020 20:45:04 +0000 (15:45 -0500)]
fixes entry

This issue was present prior to the options overhaul; a fix
was embedded in the options overhaul code changes

5 years agoMerge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into...
nhmall [Wed, 26 Feb 2020 20:36:53 +0000 (15:36 -0500)]
Merge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.7

5 years agotypo in fixes
nhmall [Wed, 26 Feb 2020 20:30:10 +0000 (15:30 -0500)]
typo in fixes

5 years agoshowscore typo
PatR [Wed, 26 Feb 2020 20:28:33 +0000 (12:28 -0800)]
showscore typo

5 years agofix warning observed on Mac OS X
nhmall [Wed, 26 Feb 2020 20:20:08 +0000 (15:20 -0500)]
fix warning observed on Mac OS X

5 years agotranspose error in comments bit
nhmall [Wed, 26 Feb 2020 20:03:58 +0000 (15:03 -0500)]
transpose error in comments bit

5 years agoMerge branch 'options-overhaul' into NetHack-3.7
nhmall [Wed, 26 Feb 2020 19:36:20 +0000 (14:36 -0500)]
Merge branch 'options-overhaul' into NetHack-3.7

5 years agofixes37.0 update for options overhaul
nhmall [Wed, 26 Feb 2020 19:32:07 +0000 (14:32 -0500)]
fixes37.0 update for options overhaul

5 years agofix the menu_* options which had valok set to No
nhmall [Wed, 26 Feb 2020 19:23:26 +0000 (14:23 -0500)]
fix the menu_* options which had valok set to No

5 years agoDemon lords and princes suppress teleporting in Gehennom
Pasi Kallinen [Wed, 26 Feb 2020 17:55:53 +0000 (19:55 +0200)]
Demon lords and princes suppress teleporting in Gehennom

Instead of having the demon lair levels unconditionally no-teleport,
grant demon lords and princes the ability to suppress teleportation
in Gehennom on the level they are on.

5 years agoLua: accept different params for gold function
Pasi Kallinen [Wed, 26 Feb 2020 15:57:47 +0000 (17:57 +0200)]
Lua: accept different params for gold function

5 years agoImplement lua selection iteration
Pasi Kallinen [Wed, 26 Feb 2020 15:25:25 +0000 (17:25 +0200)]
Implement lua selection iteration

... and showcase it by dehardcoding the Fort Ludios treasury.

5 years agoFebruary 2020 options.c overhaul
nhmall [Wed, 26 Feb 2020 05:19:08 +0000 (00:19 -0500)]
February 2020 options.c overhaul

combine boolean and compound options into a single allopt[] array for
processing in options.c.

move the definitions of the options into new include/optlist.h file which
uses a set of macros to define them appropriately.

during compile of options.c each option described in include/optlist.h:
   1. automatically results in a function prototype for an optfn called
      optfn_xxxx (xxxx is the option name).
   2. automatically results in an opt_xxxx enum value for referencing
      its index throughout options.c (xxxx is the option name).
   3. is used to initialize an element of the allopt[] array at index
      opt_xxxx (xxxx is the option name) based on the settings in the
      NHOPTB, NHOPTC, NHOPTP macros. Those macros only live during the
      compilation of include/optlist.h.

each optfn_xxxx() function can be called with a req id of: do_init, do_set,
get_val or do_handler.

req do_init is called from options_init, and if initialization or memory
allocation or other initialization for that particular option is needed,
it can be done in response to the init req.

req do_set is called from parseoptions() for each option it encounters
and the optfn_xxxx() function is expected to react and set the option
based on the string values that parseoptions() passes to it.

req get_val expects each optfn_xxxx() function to write the current
option value into the buffer it is passed.

req do_handler is called during doset() operations in response to player
selections most likely from the 'O' option-setting menu, but only if the
option is identified as having do_handler support in the allopts[]
'has_handler' boolean flag. Not every optfn_xxxx() does.

function special_handling() is eliminated. It's code has been redistributed
to individual handler functions for the option or purpose that they serve.

moved reglyph_darkroom() function from options.c to display.c

5 years agofix a couple of warnings seen on visual studio 2019
nhmall [Wed, 26 Feb 2020 03:56:50 +0000 (22:56 -0500)]
fix a couple of warnings seen on visual studio 2019

  src/sp_lev.c(4278): warning C4113: 'int (__cdecl *)()' differs in parameter lists from 'int(__cdecl *)(int,int)'
  src/sp_lev.c(5021): warning C4113: 'int (__cdecl *)()' differs in parameter lists from 'int (__cdecl *)(int,int)'

5 years agofix a pair of warnings received with visual studio
nhmall [Wed, 26 Feb 2020 02:37:10 +0000 (21:37 -0500)]
fix a pair of warnings received with visual studio

src/sp_lev.c(4278): warning C4113: 'int (__cdecl *)()' differs in parameter lists from 'int(__cdecl *)(int,int)'
src/sp_lev.c(5021): warning C4113: 'int (__cdecl *)()' differs in parameter lists from 'int (__cdecl *)(int,int)'

Add prototype prior to first reference

5 years agofix curses' create_nhmenu() warning
PatR [Wed, 26 Feb 2020 00:18:58 +0000 (16:18 -0800)]
fix curses' create_nhmenu() warning

The extra flags argument to create_nhmenu() wasn't propagated to
anywhere useful.  It still doesn't do anything yet.

5 years agofix nhlsel.c warning
PatR [Wed, 26 Feb 2020 00:04:41 +0000 (16:04 -0800)]
fix nhlsel.c warning

A recent change has resulted in complaints about 'sel' not being
used in
  struct selectionvar *sel = l_selection_check(L, 1);
  struct selectionvar *ret;
  int p = (int) luaL_checkinteger(L, 2);

  lua_pop(L, 1);
  (void) l_selection_clone(L);
  ret = l_selection_check(L, 1);
  selection_filter_percent(ret, p);

This preserves the semantics of that code while getting rid of the
warning, but I have no idea whether it makes any sense.

5 years agoAdd new level init type, swamp
Pasi Kallinen [Tue, 25 Feb 2020 16:53:06 +0000 (18:53 +0200)]
Add new level init type, swamp

Creates a "relaxed blockwise maze".
Make Juiblex's swamp use it.

5 years agolevel flip comment bit
PatR [Tue, 25 Feb 2020 01:29:32 +0000 (17:29 -0800)]
level flip comment bit

5 years agoflipping current level with #wizlevelflip
PatR [Tue, 25 Feb 2020 01:07:01 +0000 (17:07 -0800)]
flipping current level with #wizlevelflip

Give wizard mode player control over how a level gets transposed by
prompting for the desired outcome.

Refreshing the screen showed that remembered, no longer in view wall
corners and T walls were shown with their old orientation instead of
being transposed along with the level.  This fixes that, but does so
by adding a chunk of code that will be irrelevant for normal play.

5 years agoMore noflip special levels
Pasi Kallinen [Mon, 24 Feb 2020 17:08:58 +0000 (19:08 +0200)]
More noflip special levels

5 years agoMinor tweaks to level flipping
Pasi Kallinen [Sun, 23 Feb 2020 13:06:44 +0000 (15:06 +0200)]
Minor tweaks to level flipping

5 years agoadopt github pull request #286 - rndmonst()
PatR [Sun, 23 Feb 2020 01:40:55 +0000 (17:40 -0800)]
adopt github pull request #286 - rndmonst()

Eliminate the cache that was supporting rndmonst() and pick a random
monster in a single pass through mons[] via "weighted reservoir
sampling", a term I'm not familiar with.

It had a couple of bugs:  if the first monster examined happened to
be given a weighting of 0, rn2() would divide by 0.  I didn't try
to figure out how to trigger that.  But the second one was easy to
trigger:  if all eligible monsters were extinct or genocided, it
would issue a warning even though the situation isn't impossible.

Aside from fixing those, the rest is mostly as-is.  I included a bit
of formatting in decl.c, moved some declarations to not require C99,
and changed a couple of macros to not hide and duplicate a call to
level_difficulty().

Fixes #286

5 years agomore #302 - empty {bogusmon,engrave,epitaph}.txt
PatR [Sat, 22 Feb 2020 20:32:00 +0000 (12:32 -0800)]
more #302 - empty {bogusmon,engrave,epitaph}.txt

Have makedefs add a real data line to the output for the files that
caused trouble when empty.

5 years agoChange lua selection floodfill and add some tests
Pasi Kallinen [Sat, 22 Feb 2020 16:35:33 +0000 (18:35 +0200)]
Change lua selection floodfill and add some tests

5 years agoMake lua selection filter_mapchar create a new selection
Pasi Kallinen [Sat, 22 Feb 2020 15:51:08 +0000 (17:51 +0200)]
Make lua selection filter_mapchar create a new selection

5 years agoMake lua selection grow create a new selection
Pasi Kallinen [Sat, 22 Feb 2020 14:58:45 +0000 (16:58 +0200)]
Make lua selection grow create a new selection

5 years agoMake lua selection randline create a new selection
Pasi Kallinen [Sat, 22 Feb 2020 14:34:50 +0000 (16:34 +0200)]
Make lua selection randline create a new selection

5 years agoMake lua selection rect and fillrect create a new selection
Pasi Kallinen [Sat, 22 Feb 2020 13:23:30 +0000 (15:23 +0200)]
Make lua selection rect and fillrect create a new selection

5 years agoMake lua selection line create a new selection
Pasi Kallinen [Sat, 22 Feb 2020 12:23:33 +0000 (14:23 +0200)]
Make lua selection line create a new selection

... instead of modifying the one given as a parameter.

Also add some tests for it.

5 years agoMake lua selection percent filter create a new selection
Pasi Kallinen [Sat, 22 Feb 2020 11:31:22 +0000 (13:31 +0200)]
Make lua selection percent filter create a new selection

... instead of modifying the one given as a parameter.

Also add some tests for it.

5 years agoMake lua selection boolean opers create a new selection
Pasi Kallinen [Sat, 22 Feb 2020 10:11:47 +0000 (12:11 +0200)]
Make lua selection boolean opers create a new selection

... instead of modifying one of the given selections.

Also add tests for the operations.

5 years agoMake lua selection negate return a new selection
Pasi Kallinen [Sat, 22 Feb 2020 08:58:17 +0000 (10:58 +0200)]
Make lua selection negate return a new selection

... instead of modifying the one given as a parameter.

Also add tests for it.

5 years agofix github issue #302 - divide by 0 crash
PatR [Sat, 22 Feb 2020 09:41:04 +0000 (01:41 -0800)]
fix github issue #302 - divide by 0 crash

The traceback points directly to the problem:  divide by 0 happens
if the 'bogusmon' file only contains the "do not edit" line, which
would happen if 'bogusmon.txt' is empty.  makedefs probably ought to
complain about that.

There is now one hardcoded bogus monster to fall back to:  'bogon'.

Random tombstone epitaphs report divide by 0 if their text source is
empty, but it is done by rn2() rather than rn2_for_display_rng() so
is just a warning for pre-release code.  It would crash for release
version though.

I tried placing an empty engravings file and expected similar results
but didn't see any response.  Not sure what that means.

After the fix, empty epitaph file yields blank result so graves that
want a random epitaph won't have any epitaph.

Fixes #302

5 years agoextra ^X info (mon's location) for u.ustuck
PatR [Fri, 21 Feb 2020 21:46:03 +0000 (13:46 -0800)]
extra ^X info (mon's location) for u.ustuck

5 years agobuild warning
PatR [Fri, 21 Feb 2020 21:45:17 +0000 (13:45 -0800)]
build warning

5 years agoDon't bother flipping oracle level
Pasi Kallinen [Fri, 21 Feb 2020 19:32:18 +0000 (21:32 +0200)]
Don't bother flipping oracle level

5 years agoAllow flipping levels horizontally or vertically
Pasi Kallinen [Thu, 20 Feb 2020 17:18:54 +0000 (19:18 +0200)]
Allow flipping levels horizontally or vertically

When a special level is created, there's a chance it gets flipped
horizontally and/or vertically.

Add new level flags "noflip", "noflipx", and "noflipy" to prevent
flipping the level. Add a wiz-mode command #wizlevelflip to test
the flipping on current level - although this doesn't flip everything,
as level flipping is meant to happen during level creation.

5 years agoensure condition menu always starts the same way even under "play again"
nhmall [Fri, 21 Feb 2020 01:36:37 +0000 (20:36 -0500)]
ensure condition menu always starts the same way even under "play again"

5 years agoflag an unused parameter
nhmall [Fri, 21 Feb 2020 01:23:33 +0000 (20:23 -0500)]
flag an unused parameter

5 years agoadd an entry for the start_menu change to fixes37.0
nhmall [Fri, 21 Feb 2020 01:19:49 +0000 (20:19 -0500)]
add an entry for the start_menu change to fixes37.0

5 years agoMerge branch 'menu-interface' into NetHack-3.7
nhmall [Fri, 21 Feb 2020 01:17:40 +0000 (20:17 -0500)]
Merge branch 'menu-interface' into NetHack-3.7

5 years agowindow port interface change - add mbehavior flags to start_menu()
nhmall [Fri, 21 Feb 2020 01:12:51 +0000 (20:12 -0500)]
window port interface change - add mbehavior flags to start_menu()

Provide a way to communicate additional behaviors and/or appearances
desired from NetHack window port menus.

This is foundation work for changes to follow at a future date.

5 years agobetter ^X feedback when swallowed/engulfed
PatR [Thu, 20 Feb 2020 22:34:58 +0000 (14:34 -0800)]
better ^X feedback when swallowed/engulfed

5 years agopreserve menu sort between 'O' commands in same instance
nhmall [Thu, 20 Feb 2020 21:56:05 +0000 (16:56 -0500)]
preserve menu sort between 'O' commands in same instance

Also, only execute the change settings loop when the
menu response was > 0

5 years agosome more status condition follow-up
nhmall [Thu, 20 Feb 2020 06:22:27 +0000 (01:22 -0500)]
some more status condition follow-up

- Don't display 'Held' when swallowed.
- Don't display 'Held' when the hero is doing the holding; add a condition display
  entry "UHold" for that (the opt_in option is "holding")
- Allow resorting of the 'O' menu for status condition fields. Default is alphabetical, but you
  can sort by condition field ranking now.

5 years agoWounded_legs condition
PatR [Wed, 19 Feb 2020 23:47:55 +0000 (15:47 -0800)]
Wounded_legs condition

Mounting a steed while legs are wounded would offer to cure them
but wasn't going through the heal_legs() routine so didn't update
the status line when Wounded_legs condition is enabled.

Move some common code for describing left/right/both legs into a
new routine used for feedback by jumping, kicking, and ridiing.

For ^X, distinguish between one wounded leg and both but don't
bother with left vs right when it is just one.

5 years agoRemove left over NH_DEVEL_STATUS bits from makedefs.c
Patric Mueller [Wed, 19 Feb 2020 00:41:35 +0000 (01:41 +0100)]
Remove left over NH_DEVEL_STATUS bits from makedefs.c

Left bits from previous version info code caused compilation errors
if NH_DEVEL_STATUS was not set to NH_STATUS_WIP.

5 years agomonster sound changes
PatR [Tue, 18 Feb 2020 21:33:00 +0000 (13:33 -0800)]
monster sound changes

MS_MOO was placed among the humanoid sounds, resulting in a minotaur
being able to articulate "I'm hungry".  Move it to the animal sounds,
which causes almost all the sounds to be renumbered.

Give MS_MOO to rothes.

Change mumak from MS_ROAR to new sound MS_TRUMPET and mastodon from
silent to that.

I changed MS_ORC from a synonym for MS_GRUNT into a distinct type
which also just grunts.  Grunt is in the animal group of sounds and
orc is now in the 'other' group (neither animal nor understandable
humanoid).  [There are a bunch of other humanoid monsters (gnomes and
ogres, for example) that still use MS_GRUNT.  They aren't animals so
that's not right.]

Have pets who beg for food but happen to have 'other' sounds between
animal and humanoid be described as looking hungry instead of being
skipped.

Hat tipped to a peaceful humanoid will behave as non-peaceful if
Conflict is active (without giving the monster a resistance check).

Despite mons[].msound getting new values, save files should be ok.

5 years agoSplit bound_digging function to two
Pasi Kallinen [Tue, 18 Feb 2020 14:53:10 +0000 (16:53 +0200)]
Split bound_digging function to two

Also remove a DCC 3.0 specific bug define,
doubt anyone is using that anymore ...

5 years agofix #K376 - tipping cap
PatR [Tue, 18 Feb 2020 11:14:22 +0000 (03:14 -0800)]
fix #K376 - tipping cap

Allow #tip to do something if you pick your worn helmet instead of
a container.  It's mostly just a variation of #chat but probably adds
several new bugs....

5 years agoGuidebook.txt update from cron-NetHack-3.7
nhmall [Mon, 17 Feb 2020 19:39:24 +0000 (14:39 -0500)]
Guidebook.txt update from cron-NetHack-3.7

5 years agotypo in .tex and replacement of obsolete OS reference
nhmall [Mon, 17 Feb 2020 18:39:04 +0000 (13:39 -0500)]
typo in .tex and replacement of obsolete OS reference

5 years agoStop monsters from interacting with protected items on the floor
Patric Mueller [Mon, 17 Feb 2020 09:27:38 +0000 (10:27 +0100)]
Stop monsters from interacting with protected items on the floor

This fixes the issue of chests with the wand of wishing on the castle level
being stolen by soldiers.

Commit b12ea03d1 revealed that searches_for_item() didn't check for onscary()
and allowed monsters to pick up items even though they were protected by a
scroll of scare monsters.

5 years agocontrolling u.ustuck
PatR [Sun, 16 Feb 2020 21:04:12 +0000 (13:04 -0800)]
controlling u.ustuck

Setting or clearing u.ustuck now requires that context.botl be set,
so make a new routine to take care of both instead of manipulating
that pointer directly.

5 years agoFix symset menu
Pasi Kallinen [Sun, 16 Feb 2020 19:46:45 +0000 (21:46 +0200)]
Fix symset menu

Symset entry index numbers weren't initialized when the symsets were
read from file, making the menu behave erratically. This looks like
a merge mistake.

5 years agoPrevent segfault in can_blnd
Pasi Kallinen [Sun, 16 Feb 2020 09:22:18 +0000 (11:22 +0200)]
Prevent segfault in can_blnd

5 years agoGuidebook.txt and Files from cron daily
nhmall [Sun, 16 Feb 2020 05:26:43 +0000 (00:26 -0500)]
Guidebook.txt and Files from cron daily

5 years agoyet more Guidebook tweaks
PatR [Sun, 16 Feb 2020 01:44:41 +0000 (17:44 -0800)]
yet more Guidebook tweaks

A couple of indentation adjustments:  a bit more space for continued
lines in the table for suits of armor, and restore the indentation of
the list of Achievements in the Postscript version (lost when dealing
with the wouldn't-span-page-boundary issue).

5 years agonew status conditions
PatR [Sat, 15 Feb 2020 23:41:24 +0000 (15:41 -0800)]
new status conditions

Several conditions result in stale data on the status line when
starting or stopping because things which didn't used to affect it
haven't been setting context.botl to force an update.  This wasn't
systematic; there are bound to be lots more.

5 years agoGuidebook.dat typo
PatR [Sat, 15 Feb 2020 22:42:00 +0000 (14:42 -0800)]
Guidebook.dat typo

A typo in Gbk-1pg-sfx.mn resulted in " /" as a "last word" on the
end-of-data marker line of the intermediate 12345 line single page.
That was effectively invisible because it immediately got deleted
during the post-processing which strips off that marker through to
the end (producing a 5266 line single page at present).

5 years agofix github issue #293 - raven vs raven
PatR [Sat, 15 Feb 2020 21:55:51 +0000 (13:55 -0800)]
fix github issue #293 - raven vs raven

The saying /corvus oculum corvi non eruit/ (Latin) means "a crow
doesn't pluck out the eye of another crow" (roughly).  Something
along the lines of "like-minded people stick together".  Honor the
literal meaning by preventing a raven's blinding attack that gets
directed at another raven from being able to cause blindness.

Fixes #293

5 years agomore Guidebook tweaks
PatR [Sat, 15 Feb 2020 21:08:34 +0000 (13:08 -0800)]
more Guidebook tweaks

Add a missing word to Guidebook.tex and add a couple of new sentences
to both Guidebook.{mn,tex}.

Also, add Guidebook.dat to .gitignore.

5 years agoGuidebook date bump and .txt sync
nhmall [Sat, 15 Feb 2020 18:24:48 +0000 (13:24 -0500)]
Guidebook date bump and .txt sync

5 years agoGuidebook.tex catch up
PatR [Sat, 15 Feb 2020 13:45:27 +0000 (05:45 -0800)]
Guidebook.tex catch up

5 years agoAchievements documentation
PatR [Sat, 15 Feb 2020 13:19:23 +0000 (05:19 -0800)]
Achievements documentation

> Todo:  redo the recently revised Achievements table again.  Current
> formatting isn't spanning page boundaries, resulting in a big chunk
> of blank space preceding it so that it will start on the next page.

The '.SD i' environment was causing this, and also changing the font
somehow when forcing the text to start on the next page (but not when
it fit on current page?).  Taking '.SD i' out loses the indentation
that Guidebook.ps had (one of the explicit differences between it and
Guidebook.txt), which looks a little inferior, but fixes the page
boundary issue.

5 years agoGuidebook.dat, one-page edition of Guidebook.txt
PatR [Sat, 15 Feb 2020 02:15:25 +0000 (18:15 -0800)]
Guidebook.dat, one-page edition of Guidebook.txt

Update sys/unix/Makefile.doc to be able to build Guidebook.dat, an
unpaginated copy of the plain text Guidebook.  It's generated from
the 'roff source rather than by attempting to post-process the
regular text Guidebook.

No doubt there are easier ways to do this.

5 years agofix #K355 - grammar issues with monster+container
PatR [Sat, 15 Feb 2020 00:24:49 +0000 (16:24 -0800)]
fix #K355 - grammar issues with monster+container

Mon rummages in <container> and Mon takes <item> from <container>
was missing an() for the container itself and should have been
using doname() rather than xname() for any items taken out (when
done adjacent to hero).

5 years agoGuidebook update
PatR [Fri, 14 Feb 2020 23:28:28 +0000 (15:28 -0800)]
Guidebook update

This adds a new figure that shows the 3-line status.  Also expands
a couple of status items.

In the commands section, redo the hjkl direction diagram to make
"Figure 2" (now Figure 3) line up with the rest of the table.  Lot's
of trial and error involved, and the plain text version didn't come
out as expected (but still looks better than before).

Modify suit of armor table to wrap an additional line and make the
table narrower.  Having the pair of columns closer together is a bit
easier on eyes when tracking from the suit names to the AC number.

Todo:  redo the recently revised Achievements table again.  Current
formatting isn't spanning page boundaries, resulting in a big chunk
of blank space preceding it so that it will start on the next page.
(Only noticeable at the moment with the Postscript output; plain
text had enough room on its current page to not need to force next.)

Guidebook.tex is lagging again.

5 years agoGuidebook update from latest cron-daily NetHack-3.7.0_WIP-2020-02-14
nhmall [Fri, 14 Feb 2020 03:10:37 +0000 (22:10 -0500)]
Guidebook update from latest cron-daily

5 years agoWindows options dynamically
nhmall [Thu, 13 Feb 2020 21:57:37 +0000 (16:57 -0500)]
Windows options dynamically

There are two executables int the windows binary, each of which
have different options and capabilities. Sharing of one dat/options
file hasn't really been an accurate approach.

Produce that information dynamically for the Windows exe files.

This impacts alt-v results.

5 years agounseen pet drowning
PatR [Thu, 13 Feb 2020 23:38:59 +0000 (15:38 -0800)]
unseen pet drowning

The "you have a sad feeling for a moment" message was only given when
one monster kills another (and the latter is an unseen pet).  Give it
for drowning too.  There are probably a bunch of other circumstances
which warrant it as well but I've settled for handling minliquid().

5 years agoMerge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into...
nhmall [Thu, 13 Feb 2020 23:19:35 +0000 (18:19 -0500)]
Merge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.7

5 years agostone/unexplored glyph follow-up
nhmall [Thu, 13 Feb 2020 22:26:39 +0000 (17:26 -0500)]
stone/unexplored glyph follow-up

typo

5 years agoAlloc sizeof struct instead of pointer-to-struct
Pasi Kallinen [Thu, 13 Feb 2020 20:06:50 +0000 (22:06 +0200)]
Alloc sizeof struct instead of pointer-to-struct

5 years agoeliminate an odd line wrapping noticed on windows
nhmall [Thu, 13 Feb 2020 05:59:04 +0000 (00:59 -0500)]
eliminate an odd line wrapping noticed on windows

5 years agoplug a couple of memory leaks in sp_lev.c, take II
PatR [Thu, 13 Feb 2020 02:56:41 +0000 (18:56 -0800)]
plug a couple of memory leaks in sp_lev.c, take II

[...]
| Change selection_free(foo) to also free(foo) after freeing foo's
| fields.  Every use was already
|   selection_free(foo);
|   free(foo);
| except for the two instances of memory leak.

And except for the three which aren't in sp_lev.c, one of which was
dealing with memory managed by Lua.  This time it seems to be working
as intended.

5 years agoGuidebook spelling mistake
PatR [Thu, 13 Feb 2020 00:22:33 +0000 (16:22 -0800)]
Guidebook spelling mistake

5 years agoadd some new, easier achievements
PatR [Wed, 12 Feb 2020 22:35:37 +0000 (14:35 -0800)]
add some new, easier achievements

Introduce eight achievements that can be attained by more players.
 Entered Gnomish Mines  - self explanatory
 Entered Mine Town      - the town portion, not just the level
 Entered a shop         - any tended shop on any level
 Entered a temple       - likewise for temple
 Consulted the Oracle   - bought at least one major or minor oracle
 Read a Discworld Novel - read at least one passage
 Entered Sokoban        - like mines
 Entered the Big Room   - not always possible since not always present

The novel and bigroom ones aren't always achieveable since novels are
only guaranteed if a book or scroll shop gets created and bigroom is
only guaranteed in wizard mode.  No one ever claimed that every
possible achievement can be attained in a single game.  (If one for
entering the Fort Ludios level--or perhaps entering the Fort itself--
eventually gets add, that won't be possible in every game either.)

The mine town one probably needs some tweaking.  Two of the town's
seven variants have no town boundary (despite a rectangular area of
pre-defined map) and at present simply arriving on either of those
levels is enough to be credited with the entered-town achievement.

Bump EDITLEVEL because u.uachieved[] has increased in size.  This
time it has been expanded to the maximum that xlogfile's bitmask of
achievements can handle, enough for up to 9 more achievements without
another EDITLEVEL increment.

5 years agoGuidebook.mn streamlining
PatR [Wed, 12 Feb 2020 19:43:25 +0000 (11:43 -0800)]
Guidebook.mn streamlining

Set up variable 'fF' once and use it to conditionalize between
fixed-width font Guidebook.txt and proportional-width font
Guidebook.ps instead of making the width comparison of 'f' and 'F'
each time.  There are four instances where it is used; three that
suppress some indentation for the plain text output and one that
manually wraps a couple of long lines for it.

This change shouldn't produce different output from before (last
night) and doesn't need any corresponding change in Guidebook.tex.

5 years agoGuidebook update: Achievements
PatR [Wed, 12 Feb 2020 10:35:35 +0000 (02:35 -0800)]
Guidebook update: Achievements

Redo the Achievements section in Guidebook.mn to be more compact.
It's also become more complicated because it formats Guidebook.txt
differently from Guidebook.ps/.pdf.

Finally add the Achievements section to Guidebook.tex to catch up.
Not as complicated but also not tested.

5 years agoGuidebook update: armor and other objects
PatR [Wed, 12 Feb 2020 01:21:39 +0000 (17:21 -0800)]
Guidebook update:  armor and other objects

Condense the clunky one entry per line table of suits of armor and
their AC values in Guidebook.mn.  Guidebook.tex uses a two-column table
that I've left alone.

Mention all the other types of armor instead of leaving out gloves and
shirts.  For armor commands, mention that P and R work.

Rings:  describe their interaction with gloves.  For ring commands,
include a pointer to amulets.

Amulets:  for amulet commands, mention that A, W, and T work.

Tools:  mention that some can be worn and include a pointer to amulets
for the relevant commands.  Also, that some can be wielded as weapons.

Boulders and statues:  boulders can be pushed and smashed, statues can
be smashed.

Gold:  not subject to blessing or cursing.  goldX option affects BUCX
filtering.

5 years agoimprove the g.multi condition results
nhmall [Tue, 11 Feb 2020 19:04:19 +0000 (14:04 -0500)]
improve the g.multi condition results

5 years agoupdate Guidebook.txt from cron-NetHack-3.7
nhmall [Tue, 11 Feb 2020 05:25:27 +0000 (00:25 -0500)]
update Guidebook.txt from cron-NetHack-3.7

5 years agoversion bit
nhmall [Tue, 11 Feb 2020 05:04:28 +0000 (00:04 -0500)]
version bit

5 years agobump Guidebook date
nhmall [Tue, 11 Feb 2020 04:56:46 +0000 (23:56 -0500)]
bump Guidebook date

5 years agoaccuracy bit
nhmall [Tue, 11 Feb 2020 04:39:37 +0000 (23:39 -0500)]
accuracy bit