curses cursor

Followup to 1c03d0970115c776d1c4791fea3c33f70b0b5378; that had been
too easy.  When map was clipped and panned to the side, the highlight
for hero's spot was shown next to the '@' instead of on it.
This commit is contained in:
PatR
2019-06-25 02:30:27 -07:00
parent 6506f769a6
commit 3bd46a3536
2 changed files with 7 additions and 5 deletions

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.69 $ $NHDT-Date: 1561429723 2019/06/25 02:28:43 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.70 $ $NHDT-Date: 1561455021 2019/06/25 09:30:21 $
This fixes36.3 file is here to capture information about updates in the 3.6.x This fixes36.3 file is here to capture information about updates in the 3.6.x
lineage following the release of 3.6.2 in May 2019. Please note, however, lineage following the release of 3.6.2 in May 2019. Please note, however,
@@ -104,6 +104,9 @@ for wizard mode 'wizweight' option, glob weight wasn't shown unless glob had
fix for feedback when a monster plays a fire horn at self to cure green slime fix for feedback when a monster plays a fire horn at self to cure green slime
ended up being used for zapping a wand of fire at self too ended up being used for zapping a wand of fire at self too
curses: sometimes the message window would show a blank line after a prompt curses: sometimes the message window would show a blank line after a prompt
curses: the change to show map in columns 1..79 instead of 2..80 made the
highlight for '@' show up in the wrong place if clipped map had been
panned horizontally
tty: revert the attempt to fix "message line anomaly: if autodecribe feedback tty: revert the attempt to fix "message line anomaly: if autodecribe feedback
wrapped to second line, the wrapped portion wasn't erased when a wrapped to second line, the wrapped portion wasn't erased when a
shorter line was shown or getpos was dismissed" because it disrupted shorter line was shown or getpos was dismissed" because it disrupted

View File

@@ -519,8 +519,6 @@ curses_move_cursor(winid wid, int x, int y)
if (wid != MAP_WIN) { if (wid != MAP_WIN) {
return; return;
} else {
--x; /* map column [0] isn't used, so shift everything over 1 col */
} }
#ifdef PDCURSES #ifdef PDCURSES
/* PDCurses seems to not handle wmove correctly, so we use move and /* PDCurses seems to not handle wmove correctly, so we use move and
@@ -536,8 +534,9 @@ curses_move_cursor(winid wid, int x, int y)
curs_y++; curs_y++;
} }
if ((x >= sx) && (x <= ex) && (y >= sy) && (y <= ey)) { if (x >= sx && x <= ex && y >= sy && y <= ey) {
curs_x -= sx; /* map column #0 isn't used; shift column #1 to first screen column */
curs_x -= (sx + 1);
curs_y -= sy; curs_y -= sy;
#ifdef PDCURSES #ifdef PDCURSES
move(curs_y, curs_x); move(curs_y, curs_x);