Commit Graph

4189 Commits

Author SHA1 Message Date
PatR
fc75055263 debug logging
Remove unused variables.
2018-05-15 04:15:41 -07:00
nhmall
64a771da4b add prototype
(cherry picked from commit 438cfd3815)
2018-05-15 06:31:22 -04:00
nhmall
cc1d43fad4 integrate aklys feature introduced in 3.6.1 into display
(cherry picked from commit 3fe8325f14)
2018-05-15 06:29:40 -04:00
nhmall
f36c3ae1ab Merge branch 'win-minor' into NetHack-3.6.0 2018-05-15 00:27:11 -04:00
PatR
f89968a973 fix #H7140 - list MSGTYPE values shows empty strings
The 'O' menu's 'list' for MSGTYPE settings showed truncated versions
of really long message strings but didn't show anything except the
hide/stop/norep setting for ordinary length ones.  3.6.0 showed the
latter correctly but suffered buffer overflow for the former; the
fix for that had a typo/thinko in it.
2018-05-12 18:50:51 -07:00
PatR
45c59857f7 fix "a Vlad the Impaler"
Killing Vlad while he was in bat/fog cloud/wolf form gave poorly
worded feedback when he reverted to vampire form.
2018-05-12 18:47:34 -07:00
Bart House
039687cf5f Fix for bug 324 (aka H4216). We now will use nhraykey by default if the
players keyboard layout is non-english.  nhraykey properly handles
non-english input.  We also now support changing altkeyhandler in game.
2018-05-12 18:06:23 -07:00
nhmall
9a87064cca some build fixes for compile issues reported 2018-05-12 06:57:34 -04:00
nhmall
d0e508241b missing return value 2018-05-12 01:07:54 -04:00
nhmall
dd04f5fcb5 more tty-status updates 2018-05-12 01:04:57 -04:00
nhmall
04c85aa59d update files.c with testinglog 2018-05-10 18:54:58 -04:00
nhmall
702154529f provide some debug developer controls - part 1 2018-05-10 10:05:29 -04:00
nhmall
d2a7c8afa1 some status data corrections 2018-05-07 08:41:54 -04:00
nhmall
71bead4e39 do some performance optimizations on highlighting of tty status 2018-05-05 19:43:10 -04:00
nhmall
4e5c41401f last line of config file wasn't heeded if newline was missing 2018-04-28 17:22:21 -04:00
PatR
78fe5fbb05 display glitch: warning vs remembered,unseen
Noticed while testing the fix for the recently reported clairvoyance
bug.  I saw a '1' move onto an 'I', then when it moved again the 'I'
reappeared.  The remembered unseen monster couldn't be there anymore
if the warned-of monster was able to walk through that spot, so
remove any 'I' when showing a warning (digit) to stop remembering an
unseen monster at the warning spot.

Nobody has ever reported this so fixing it isn't urgent, but fixing
it is trivial so I'm doing it in now (without the clairvoyance fix).
2018-04-26 15:07:00 -07:00
nhmall
72d38f1f67 windows-only bit 2018-04-26 18:00:32 -04:00
nhmall
04ae622c12 suppress version branch info if not BETA
I think this is needed to avoid inevitable questions/confusion.

Having the git hash in the version string of official binaries
is a very good thing, however.
2018-04-25 17:56:14 -04:00
keni
0f58af6f37 add missing copyright info 2018-04-25 16:54:50 -04:00
keni
d8c49ec9d1 Add updated copyright lines, part 1. 2018-04-25 15:00:13 -04:00
Pasi Kallinen
d5a0d846bf Mention boulder blocking path when traveling
...if mention_walls is on
2018-04-23 19:49:34 +03:00
PatR
0ab92dbc3d fix #H7079 - take two...
Instead of replacing the check for DRAWBRIDGE_UP with one for
DRAWBRIDGE_DOWN, the correct fix is to check for both because
replacing either one with water breaks the two-square dbridge.
2018-04-23 00:57:31 -07:00
PatR
e1dd895dc2 fix #H7079 - melting ice destroys lowered dbridge
melt_ice() attempted to handle this but checked for raised drawbridge
instead of lowered one.
2018-04-23 00:39:57 -07:00
nhmall
e236c23b35 windows record file diagnostic info 2018-04-22 12:15:30 -04:00
nhmall
56ceea5a41 more adjacent pit 2018-04-21 08:00:57 -04:00
nhmall
2ce0fbd571 Merge branch 'NetHack-3.6.0' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6.0 2018-04-21 07:01:27 -04:00
nhmall
b938808ff0 clean up some code pasted from other function 2018-04-21 06:57:52 -04:00
Pasi Kallinen
d0e2194036 Redraw screen after #wizintrinsics
Gaining monster detection requires redraw, possibly some others.
2018-04-21 13:28:27 +03:00
nhmall
13fc83a6a2 VS debugger couldn't handle a naming collision appropriately 2018-04-21 01:07:20 -04:00
nhmall
e48600ec87 adjacent pit movement isn't a fall
H7074 1311

> When moving from a pit into an adjacent pit, you "fall into" the pit and take
> damage. This happens even when you are walking back and forth between two pits,
> repeatedly, where you should have no way to fall.
>
> The intent seems to be that you can move into the adjacent pit without having
> to climb out of the first one, and this works properly - the only problem is
> that the pit gets triggered when you ought to have no distance to fall.

This is really just stumbling over uncleared clutter, not a pit fall.
There was already a way to clear the clutter between adjacent pits.
2018-04-21 00:47:59 -04:00
Pasi Kallinen
4a5115b417 Prevent hp-full or pw-full interrupt when running
The "You are in full health" and "You feel full of energy"
should only happen when repeating a command, not when running.
2018-04-20 23:35:59 +03:00
Pasi Kallinen
d26fa16e5c Reorder #droptype menu and add some separators 2018-04-19 09:10:06 +03:00
PatR
f9f7eb9633 portal feedback from #wizwhere
The #wizwhere command (formerly ^O) has given the location of the
invocation position when on the relevant level for ages.  It was
extended in 3.6.0 to give magic portal location when on the any
of the four elemental plane levels.  Extend it again to show the
location of any magic portal when on a level which has one (so an
extra line of feedback at end of ^O output for quest entry, quest
home, Ft.Ludios entry once that's been assigned, and Ft.Ludios).
2018-04-09 14:12:43 -07:00
PatR
44eed82d41 'm ^V' (aka 'm C-v')
Allow the 'm' prefix for wizard mode level teleport command.  Using
it skips the initial prompt for level destination and goes directly
to the menu of special level locations that you get when answering
'?' to that prompt.
2018-04-09 13:48:43 -07:00
PatR
8710c2c29a minor fix for #annotate
Some github feedback pointed out that getting annotation input from
the player behaved differently from similar input for naming of
monsters and objects.  The complaint stated that hitting <return>
without supplying any input removed the old annotation, where other
naming would leave the old name intact.  3.6.0 did misbehave that
way; current code does too if EDIT_GETLIN is disabled but behaves
as desired when it's enabled.  (There's nothing that I can spot in
donamelevel() to explain why.  I'm confused.  Is tty_getlin()
returning the default answer instead of empty if that default text
is deleted at the prompt and no new text entered prior to <return>?)

Make donamelevel() work like mon/obj naming.  Empty input leaves
existing annotation, if any, intact.
2018-04-08 17:04:24 -07:00
PatR
38df5360e0 fix #H7039 - autodescribe of hallucinated statue
Having the autodescribe feature enabled and moving the cursor onto
a statue yields "statue of a <mon>" under normal circumtances, but
when done while hallucinating the feedback was just blank (because
the lookat() code couldn't find any monster at statue's location).
Now it will be "<random mon>" (not "statue of a <random mon>")
instead, same as when moving cursor over glyphs of actual monsters.
2018-04-07 16:08:10 -07:00
PatR
a6b7438c51 fix an out of date fire/auto-quiver comment
When the fire command prompts for missile, it autoquivers the chosen
item.  Originally that was only done when the chosen item was a stack
but that got changed (back in 2007...) and the relevant comment was
not updated at the time.
2018-04-05 15:28:50 -07:00
PatR
e1552679e2 DUMPLOG map fix
I once changed dump_map() to suppress blank lines as it processed the
known portion of current dungeon level so that no blank lines would
be shown above the mapped area and at most one would be shown below.
Any blank lines within were put back.  But the count of the current
block of suppressed lines wasn't being zeroed when an internal gap
did get put back, so after that every line got spurious blank lines
inserted in front of it.  I'm surprised that no one seems to have
discovered this problem.

This fix also changes the dumped map to suppress trailing spaces.  In
the process, I noticed that the original DUMPLOG code was clobbering
column COLNO-1 if that was ever part of known map.  buf[x - 2] = '\0'
overwrote the final map character in buf[] with the terminator.
2018-04-04 18:27:13 -07:00
PatR
6faff71a17 fix another 'wonky secret door'
The cavemen quest description includes an 'S' in the lower right
corner of the MAP...ENDMAP section of the locate level.  It produced
a secret door as intended but did not have horizontal vs vertical set
because the latter was only being done for DOOR directives.  Instead
of adding an explicit directive, make the loading code set horizontal
vs vertical for all doors.

This fixes the orientation of that secret door in the Cav locate
level, but I noticed that it showed up an a visible horizontal wall
when the spots on either side were still blank.  It's behaving as
if the door is on a lit spot and the adjacent walls are unlit (this
misbehavior was already present before the current change; it was
just shown incorrectly as a visible vertical wall before).
2018-04-02 13:35:41 -07:00
PatR
f8e64b296c steed sanity check
Wizard mode sanity checking gave spurious "mon not on map" warnings
for steed when hero is mounted.  Steed is in the fmon list but not
expected to be present on the map.
2018-03-31 16:55:29 -07:00
Pasi Kallinen
98b0c8d4f0 More and more enums 2018-03-31 12:34:41 +03:00
Pasi Kallinen
ebde14a6f9 Still more enums 2018-03-31 11:43:38 +03:00
Pasi Kallinen
9b7e146807 Use more enums 2018-03-31 08:57:22 +03:00
Pasi Kallinen
fa89d84fa3 Silence yet another warning 2018-03-31 07:47:41 +03:00
PatR
c058826995 fix #H7015 - explosion chain reaction bug
The fix to prevent "crushed by a gas spore's explosion" set killer.name
to an empty string after a gas spore explosion finished, but that made
nested explosions end up with empty killer.name after the innermost
call completed.  explode() shouldn't have been hanging on to a pointer
to a global value that is subject to change while it executes.  Making
a local copy of the current value at the time explode() is called will
solve that (I hope...).

Simply reverting the reset of killer.name wouldn't have been correct.
The innermost explosion would still be clobbering killer.name for any
outer MON_EXPLODE explosions in progress.  When the only exploding
monster is gas spore, that wouldn't be noticeable.  But having other
types of exploding monsters and a chain reaction which affected more
than one type would have exposed that bug.  I think this fixes both
aspects of this problem but don't have a second type of exploding
monster to verify the second part.
2018-03-30 17:05:23 -07:00
Pasi Kallinen
4eab7b140c Don't store int into unsigned 2018-03-30 20:34:19 +03:00
Pasi Kallinen
2548d68dd3 Fix some warnings
Remove an unused variable, add missing FALLTHRUs, and use the same
FALLTHRU wording where it wasn't recognized by gcc
2018-03-30 19:42:50 +03:00
Pasi Kallinen
94ad7512a6 Compile-time option to allow some prompts remember the input
Define EDIT_GETLIN to make the tty, X11, and Qt4 windowports to
remember the input strings for wishing and annotation.
2018-03-26 23:04:53 +03:00
PatR
66e50aeeac Cleaver tidbit
Fix a comment typo.  While in there, change the cleave attack to
swing counter-clockwise the very first time instead of setting up
for that but then toggling to the opposite direction before the
actual attack.  Also, refactor a bit of common code for choosing
< xdir[], ydir[] > index for next target.
2018-03-21 19:12:51 -07:00
Pasi Kallinen
2ee6412a2f Fix X11 segfault when quitting without dumplogfile defined
Guard dumplog-specific output by checking we actually are putting
the output into the dumplog.

This is a post-3.6.0 bug.
2018-03-20 17:37:56 +02:00