]> granicus.if.org Git - nethack/log
nethack
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 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

5 years agominor correction to Guidebook.tex
nhmall [Tue, 11 Feb 2020 04:33:34 +0000 (23:33 -0500)]
minor correction to Guidebook.tex

5 years agoMerge branch 'chasonr-msdos-video-doc' into NetHack-3.7
nhmall [Tue, 11 Feb 2020 04:26:26 +0000 (23:26 -0500)]
Merge branch 'chasonr-msdos-video-doc' into NetHack-3.7

5 years agoGuidebook corrections for msdos video_width and video_height
nhmall [Tue, 11 Feb 2020 04:20:58 +0000 (23:20 -0500)]
Guidebook corrections for msdos video_width and video_height

merge pull request #294 from chasonr

Closes #294

5 years agoMerge branch 'msdos-video-doc' of https://github.com/chasonr/NetHack into chasonr...
nhmall [Tue, 11 Feb 2020 04:05:33 +0000 (23:05 -0500)]
Merge branch 'msdos-video-doc' of https://github.com/chasonr/NetHack into chasonr-msdos-video-doc

5 years agobump editlevel
nhmall [Tue, 11 Feb 2020 03:12:38 +0000 (22:12 -0500)]
bump editlevel

the code in pr298 altered the sound bit for one existing monster

5 years agosounds for minotaurs pr298
nhmall [Tue, 11 Feb 2020 03:04:10 +0000 (22:04 -0500)]
sounds for minotaurs pr298

Closes #298

5 years agoMerge branch 'NullCGT-minotaurs-pr298' into NetHack-3.7
nhmall [Tue, 11 Feb 2020 03:02:26 +0000 (22:02 -0500)]
Merge branch 'NullCGT-minotaurs-pr298' into NetHack-3.7

5 years agoRevert "plug a couple of memory leaks in sp_lev.c"
PatR [Mon, 10 Feb 2020 23:44:16 +0000 (15:44 -0800)]
Revert "plug a couple of memory leaks in sp_lev.c"

This reverts commit 1b7ac939306231a11ac44b24ef21b2ada40ecacc.

I just got a crash from within Lua when loading mine town and it
appears to be memory related, so back out the "plug leaks" commit
for the time being.

5 years agoplug a couple of memory leaks in sp_lev.c
PatR [Mon, 10 Feb 2020 22:23:47 +0000 (14:23 -0800)]
plug a couple of memory leaks in sp_lev.c

selection_floodfill() would free the contents of its temporary
selection structure when the check function was Null but neglected
to free the allocated structure itself.  I don't know whether that
was ever triggered.

generate_way_out_method() did likewise when trying to make a hole
or trapdoor.  It reused the 'ov3' pointer without freeing it first.
'heaputil' reported instances of non-freed memory that were
allocated at line 3612 by selection_clone(), only called within
generate_way_out_method().

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.

5 years agosimplify Achievements display
PatR [Mon, 10 Feb 2020 19:21:44 +0000 (11:21 -0800)]
simplify Achievements display

The you-acquired-the-Amulet achievement uses alternate wording when
you were carrying it but just gave it up via #offer to ascend.  That
wording looks much better when displayed right before "You ascended!",
without entered-endgame and entered-astral (and maybe always-blind or
never-wore-armor) achievements in between.  That was and still is done
by taking it away.  Adding it back in the desired spot is simpler than
leaving it out while tracking whether it was removed.

Effectively, ACH_UWIN (ascension) is forced to be very last--where it
will always be anyway, but at one point the blind and nudist ones came
after it--and ACH_AMUL (you obtained the Amulet) is sorted to right
before that.  For non-ascending games, the Amulet achievement is left
in the position where it was attained.

5 years agoredo achievement tracking
PatR [Mon, 10 Feb 2020 08:17:54 +0000 (00:17 -0800)]
redo achievement tracking

Instead of an assortment of bits, assign numeric indices to the
potential achievements and keep an array of those in the order they
were attained.  So disclosure might show the same subset occurring
differently in different games depending on the player's actions.
The encoded field in xlogfile doesn't care about that and remains
the same.

Modifies 'struct u', so EDITLEVEL has been incremented and existing
save files are invalidated.

5 years agoMerge branch 'feature/sounds' of https://github.com/NullCGT/NetHack into NullCGT...
nhmall [Mon, 10 Feb 2020 01:38:22 +0000 (20:38 -0500)]
Merge branch 'feature/sounds' of https://github.com/NullCGT/NetHack into NullCGT-minotaurs-pr298

5 years agoAchievements doc bit
PatR [Mon, 10 Feb 2020 00:56:23 +0000 (16:56 -0800)]
Achievements doc bit

Confusion on my part.  "Entered Gehennom" achievement is recorded if
you enter the Valley of the Dead rather than requiring that you get
past that level.

Guidebook.tex is still lagging but not forgotten.

5 years agoremove another unused variable
PatR [Sun, 9 Feb 2020 20:28:19 +0000 (12:28 -0800)]
remove another unused variable

5 years agoremove an unused variable
nhmall [Sun, 9 Feb 2020 20:21:35 +0000 (15:21 -0500)]
remove an unused variable

5 years agoMerge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into...
nhmall [Sun, 9 Feb 2020 19:57:15 +0000 (14:57 -0500)]
Merge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.7

5 years agomove status condition field selection to its own menu
nhmall [Sun, 9 Feb 2020 19:56:37 +0000 (14:56 -0500)]
move status condition field selection to its own menu

5 years agoUnify Bag of Holding item loss chance
Pasi Kallinen [Sun, 9 Feb 2020 16:39:46 +0000 (18:39 +0200)]
Unify Bag of Holding item loss chance

5 years agoFix the selection param unify
Pasi Kallinen [Sun, 9 Feb 2020 12:47:41 +0000 (14:47 +0200)]
Fix the selection param unify

5 years agoUnify lua setting wallprop
Pasi Kallinen [Sun, 9 Feb 2020 12:30:11 +0000 (14:30 +0200)]
Unify lua setting wallprop

5 years agoUnify some exported lua script params
Pasi Kallinen [Sun, 9 Feb 2020 11:44:04 +0000 (13:44 +0200)]
Unify some exported lua script params

5 years agoset g.opt_need_redraw on ingame cond_foo change
nhmall [Sun, 9 Feb 2020 02:38:14 +0000 (21:38 -0500)]
set g.opt_need_redraw on ingame cond_foo change

5 years agocatch-up on some updates to fixes37.0
nhmall [Sun, 9 Feb 2020 02:07:04 +0000 (21:07 -0500)]
catch-up on some updates to fixes37.0

Side note: Here's a correction for the commit
message for 330287da42a20017ec56de69099fd49afa0765d0:

The original incorrectly stated 'CONDITION_SIZE' (which
doesn't exist) instead of CONDITION_COUNT in one of the
paragraphs.

--- snip ---

eliminate the uses of the manually maintained BL_MASK_BITS

Use CONDITION_COUNT which does not require manual updating.

Also attempts to adjust win32 graphics window port for
the new fields.

That port has its own field names and should be adjusted
to using the following which are declared extern in
include/botl.h.

   struct conditions[CONDITION_COUNT];
   int cond_idx[CONDITION_COUNT];

The former contains the fields that were port-specifically
added to the win32 graphical port and more, plus it is
centrally maintained and currently utilized by tty and curses.

The cond_idx[] array contains the ranked ordering of the
condition fields from highest ranking to lowest. Instead
of indexing like this:
    int i;
    for (i = 0; i < CONDITION_COUNT; ++i) {
        ...conditons[i].enabled;
        ...condtions[i].text[0];
    }

you can use the ranked ordering like this:
    int i, ci;
    for (i = 0; i < CONDITION_COUNT; ++i) {
        ci = cond_idx[i];
        ...conditons[ci].enabled;
        ...condtions[ci].text[0];
    }

5 years agoMerge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into...
nhmall [Sun, 9 Feb 2020 01:51:10 +0000 (20:51 -0500)]
Merge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.7

5 years agoeliminate the uses of the manually maintained BL_MASK_BITS
nhmall [Sun, 9 Feb 2020 01:40:38 +0000 (20:40 -0500)]
eliminate the uses of the manually maintained BL_MASK_BITS

Use CONDITION_SIZE which does not require manual updating.

Also attempts to adjust win32 graphics window port for
the new fields.

That port has its own field names and should be adjusted
to using the following which are declared extern in
include/botl.h.

   struct conditions[CONDITION_COUNT];
   int cond_idx[CONDITION_COUNT];

The former contains the fields that were port-specifically
added to the win32 graphical port and more, plus it is
centrally maintained and currently utilized by tty and curses.

The cond_idx[] array contains the ranked ordering of the
condition fields from highest ranking to lowest. Instead
of indexing like this:
int i;
for (i = 0; i < CONDITION_COUNT; ++i) {
    ...conditons[i].enabled;
      ...condtions[i].text[0];
}

you can use the ranked ordering like this:
int i, ci;
for (i = 0; i < CONDITION_COUNT; ++i) {
    ci = cond_idx[i];
    ...conditons[ci].enabled;
      ...condtions[ci].text[0];
}

5 years agomore level teleport feedback
PatR [Sun, 9 Feb 2020 01:15:18 +0000 (17:15 -0800)]
more level teleport feedback

Level teleporting to current level doesn't give any feedback but
is usually done intentionally to abort the level teleport.  Being
on the bottom level of branch and attempting to teleport even lower
failed silently like choosing the current level.  Have it give some
feedback about not being able to go any lower.

5 years agoMerge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into...
nhmall [Sun, 9 Feb 2020 00:52:22 +0000 (19:52 -0500)]
Merge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.7