Bart House [Mon, 14 May 2018 03:46:43 +0000 (20:46 -0700)]
Additional changes to xputc_core() and early_raw_print() to manage
the cursor position correctly. This is needed to handle raw printing
correctly. Added check for when we might be running off the bottom
of the screen when handling msmsg(). Added runtime checks to keep
cursor always within bounds.
PatR [Sat, 12 May 2018 08:05:29 +0000 (01:05 -0700)]
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.
Bart House [Sun, 13 May 2018 01:06:23 +0000 (18:06 -0700)]
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.
Bart House [Tue, 8 May 2018 14:25:24 +0000 (07:25 -0700)]
Fix for bug H7132.
In nethackw, there can be conflicts between menu accelerators and an extra
choice accelerator. For example, when engraving the using fingers options
conflicts with the unselect all menu accelerator. The extra choice
accelerator should take precedence.
Bart House [Sun, 6 May 2018 08:13:30 +0000 (01:13 -0700)]
Implemented a fix to the lag problems that are occuring with the Win32
console port. The fix implements a console back buffer which
significantly reduces the number of calls made to WriteConsoleOutputXXX
and eliminates the lag users have been experiencing.
Bart House [Sun, 6 May 2018 08:13:30 +0000 (01:13 -0700)]
Implemented a fix to the lag problems that are occuring with the Win32
console port. The fix implements a console back buffer which
significantly reduces the number of calls made to WriteConsoleOutputXXX
and eliminates the lag users have been experiencing.
Specify both width and height when creating font for width testing
From Bart...
When we are creating the console font for testing character widths,
we were not specifying width. Because of this, the created font's
average width might be larger then what we expect and we might
falsely detect that the font was inappropriate for playing Nethack.
Fix provides the width that we are expecting when creating the font.
default to using latest SDK available on build machine
From Bart...
Modified build configuration to use latest SDK available by default.
This change will eliminate the need for us to hard code an SDK
version into our configuration file and will eliminate the need
for developers to set the SDK version when they do not have the
matching SDK version installed. Updated the Install.nt file removing
the mention of having to set the SDK version.
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).
Alex wrote: in nethackw, getlin clears message
window, so any unread messages are scrolled off the screen without
"--more--" prompt. If vary_msgcount is set to 1 and "potion shatters", it
is not easy to see the effect to name the potion correctly.
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.
Mostly add a paragraph clarifying the classification of WONTFIX for
a reported bug ('I' unseen monster clobbers remembered object at the
location). It felt like it needed a parallel paragraph for monsters.
> 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.
A couple of \e to \\ changes, a whole bunch of ^ to \(ha changes
(similar character but bigger so easier to see), ~ to \(ti (ditto),
and - to \- (first is a hyphen, second is a minus sign which is
bigger; see the difference for "- and | The walls of a room...").
As well as horizontal walls, open doors, top and bottom of swallow
and explode octagons, I changed command line switches -s, -X, and -D
to use minus sign. I was unsure whether the umpteen M-C should be
changed too. Since it was less work to leave them as-is, that's
what I did. I also left ^C with smaller circumflex punctation
instead of changing to bigger circumflex character for same reason.
The [much smaller] Guidebook.tex changes need testing.
Not fixed:
I think the sentence "you can type 'nethack -s all' on most versions"
is very misleading. Using 'versions' to refer to the various ports
rather than different releases is iffy, but my complaint is that
"typing something" sounds like an action you would perform while in
the game. Access to a command line and figuring out how to invoke
nethack from there is probably not something where "most versions"
applies any more. But I don't know how to rephrase that succinctly.
If I did, I would have just changed it....