Commit Graph

8766 Commits

Author SHA1 Message Date
nhmall
91d93cd46b Merge branch 'NetHack-3.6' 2019-05-20 22:10:01 -04:00
PatR
716b72d682 wintty.c comments
Some minor stuff I had pending that I stripped away for the status
conditions patch.
2019-05-20 18:08:32 -07:00
nhmall
e33018a6ef 3.7.0 WIP Makefile build required change 2019-05-20 16:00:11 -04:00
nhmall
c7ed4920b0 Merge branch 'NetHack-3.6' 2019-05-20 15:50:17 -04:00
nhmall
cd6c2ebcdf status line count (word two) bit 2019-05-20 15:16:57 -04:00
nhmall
7d7111ec03 status_sanity_check is most useful in WIP and beta so restrict it 2019-05-20 12:08:51 -04:00
PatR
4c93e1fa21 more #H8609 - tty status condition rendering
The earlier fix removed a valid optimization which happened to be
implemented incorrectly.  Put that back.  It also left an invalid
optimization when applied to conditions.  Remove that one.

I don't think either of these explains truncating 'y' off of "Hungry"
which was shown in one of the reports.
2019-05-20 05:26:19 -07:00
nhmall
cbb3dbb5f5 make it tougher for incomplete render_status() to go unnoticed
Adds a sanity check that will write a paniclog
message if a code change prevents completion of
render_status() for each dirty (changed) field.
2019-05-20 01:33:33 -04:00
nhmall
e653868833 fix a botl status display issue
Reported as #H8609 (1679)

Some code recently added to render_status() for BL_CONDITION:
    if (!tty_condition_bits)
        continue;
was short-circuiting the required copy of NOW
values to BEFORE values for later comparison
further down in the for-loop.
    tty_status[BEFORE][idx] = tty_status[NOW][idx];

This caused some fields to be bypassed for rendering
once no more tty_condition_bits were set because the
length comparisons would match.
2019-05-19 23:35:21 -04:00
nhmall
46d85db233 remove a debug bit from Makefile.msc 2019-05-19 11:55:05 -04:00
nhmall
811fb0174b Makefile.msc bit for Windows 2019-05-19 11:48:20 -04:00
nhmall
4be2f98063 Merge branch 'NetHack-3.6' 2019-05-19 10:12:39 -04:00
PatR
d1ce0aac89 fixes github issue #190 - EDIT_GETLIN for curses
Fixes #190

Add EDIT_GETLIN support for curses.  It remains disabled by default.
2019-05-18 23:52:04 -07:00
nhmall
8aac36c073 don't merge globs with differing BUC status 2019-05-18 22:56:27 -04:00
nhmall
336908ad3c grammar bit 2019-05-18 16:44:57 -04:00
nhmall
8e972874b2 Merge branch 'NetHack-3.6' 2019-05-18 16:30:43 -04:00
nhmall
670fc9ca34 further improve additional glob interaction scenarios within a shop
Scenarios:
1. shop_owned glob merging into shop_owned glob
2. player_owned glob merging into shop_owned glob
3. shop_owned glob merging into player_owned glob
4. player_owned glob merging into player_owned glob
2019-05-18 16:24:48 -04:00
PatR
a19e64e470 curses followup
Some prompts were being overwritten by the message that followed.

And clear_nhwindow(WIN_MESSAGE) gets called for just about every
keystroke so try to reduce the overhead I unwittingly added.  The
"scroll up one line earlier than the next message" mentioned in
the prior commit is much more obvious that I realized and prompt
erasure might need to be redone.
2019-05-18 08:12:43 -07:00
PatR
f218e3f15e fix #H8753 - curses message window anomalies
Autodescribe feedback and multi-digit count prompts are always shown
on the last line of the message window and are suppressed from message
history (both ^P and DUMPLOG).  When the message window is using all
available lines, the last one was being overwritten (until the count
or the feedback was completed or dismissed, then last line returned).
Adopt the suggestion that it be scrolled up a line instead of being
overwritten.  [I haven't been able to reproduce the reported problem
where shorter overlaid text left some of longer underlying text visible
but that should now become moot.]

Bonus fix:  while testing, I noticed that if your screen only has room
for a one-line message window and you used ESC to cancel 'pick a spot
with cursor' prompting before moving the cursor, the prompt was left
intact on the message line.  tty erases it in that situation, but the
clear_nhwindow(WIN_MESSAGE) was a no-op for curses because it usually
doesn't erase old messages.  This changes the curses behavior when the
core asks it to erase the message window:  now it forces one blank line
of fake autodesribe feedback (causing the prompt or other most recent
message to scroll off top), then removes that fake feedback (leaving
a blank message line).  For multi-line message window, the old messages
scroll up by one line sooner than they would when waiting for the next
real message but are otherwise unaffected.
2019-05-18 02:25:48 -07:00
PatR
345c1b719f unpaid glob formatting
Make unpaid (shop owned, that is) globs show same weight information
as for-sale globs.  And don't treat required arguments to globwt() as
if they were optional.
2019-05-17 13:38:34 -07:00
nhmall
2cf860fc47 Merge branch 'NetHack-3.6' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6 2019-05-17 16:34:07 -04:00
nhmall
c33f17940c Merge branch 'NetHack-3.6' 2019-05-17 16:31:26 -04:00
nhmall
2d07b45582 warning bit 2019-05-17 16:30:52 -04:00
PatR
255d969da2 obj sanity checking specific to globs
Verify that objects with the globby bit set are actually glob objects,
that their quantity is 1, and that their weight at least superficially
makes sense.
2019-05-17 13:28:41 -07:00
nhmall
b2dccb21a4 Merge branch 'NetHack-3.6' 2019-05-17 16:19:17 -04:00
nhmall
f172c6fd94 comment typo and an unused variable 2019-05-17 16:15:24 -04:00
nhmall
d05ab50876 Makefile.msc update for Windows 2019-05-17 15:57:04 -04:00
nhmall
c5fbae0a4c Merge branch 'NetHack-3.6' 2019-05-17 12:06:58 -04:00
nhmall
2aee73642d fix some billing and pricing issues when globs coalesce
payment issue caused by glob coalescing
glob pricing did not consider coalesced weight
2019-05-17 12:04:01 -04:00
nhmall
53f208c48b glob floor merge message
Make it more obvious that globs that just merged on the
floor may be at an adjacent location.
2019-05-17 11:44:39 -04:00
PatR
4201c21d23 farlook feedback for overloaded symbols
When using '/' or ';' and picking--not just viewing the autodescribe
feedback for--a space or '#' on the map, the game would produce
 That can be many things (stone)
or
 That can be many things (corridor)
unlike the usual
 -     the interior of a monster or a wall or an open door (wall)
when the symbol matched more than 4 things.  I first changed it to
append the full sentence's missing period, but ultimately switched to
 #     can be many things (corridor)
so that the symbol that "many things" refers to isn't hidden.  This
works better for ^P where player isn't looking at the symbol anymore.
2019-05-16 15:26:35 -07:00
nhmall
23d160f705 Merge branch 'NetHack-3.7' 2019-05-12 20:33:41 -04:00
nhmall
112b2a319e Merge branch 'NetHack-3.6' 2019-05-12 20:31:02 -04:00
PatR
f5a0e43e31 version number 3.7.0 for vms 2019-05-12 15:57:05 -07:00
PatR
048454c0c3 version number 3.6.3 for vms 2019-05-12 15:52:04 -07:00
nhmall
06941dcd2f match the vs version info values with include/patchlevel.h in 3.7 2019-05-12 15:50:33 -04:00
nhmall
357165cf68 Merge branch 'NetHack-3.6' 2019-05-12 15:31:31 -04:00
nhmall
75f293c369 add VERSION_IN_DLB_FILENAME to makedefs detection 2019-05-12 15:14:31 -04:00
nhmall
bcd05308aa support version-specific dlb file
There was a post-3.6.2 discussion on a forum where someone had
tried to copy the NetHack 3.6.2 exe file overtop of an
existing NetHack 3.6.0 playground, and then try to run it.

We have never suggested trying that, nor do we attempt to
provide any backward or forward compatibility between the
supporting files found in nhdat that would allow that. Any
particular version of NetHack expects to have matching
support files designed and matched to that version.

This adds optional support for helping to prevent the
opening of nhdat containing support files from an
unmatched version of NetHack.

If you #define VERSION_IN_DLB_FILENAME in your
platform's include/*conf.h file, it will use a
name such as nhdat362, instead of plain nhdat, and
will exit more gracefully than the fault/crash
mentioned in the discussion if it doesn't find the
file it is looking for.

Developers - please note that if you do
to cause NetHack to look for an nhdat* file with
the version info appended to the name, you will likely
have to modify your build/clean/spotless mechanics
beyond the C compile itself to properly deal with the
new generated file name.
2019-05-12 14:51:26 -04:00
nhmall
2d4e292de6 fixes37.0 section header bit 2019-05-12 08:16:01 -04:00
nhmall
cdcc93fec2 catch up on fixes37.0 entries 2019-05-12 08:10:21 -04:00
nhmall
b54b64500b Merge branch 'NetHack-3.6' 2019-05-11 22:05:32 -04:00
nhmall
717829627a add windows startup msg fix to fixes36.3 2019-05-11 22:04:56 -04:00
nhmall
a7f779eda4 add windows startup msg fix to fixes36.3 2019-05-11 22:01:23 -04:00
nhmall
69f767ac48 Merge branch 'NetHack-3.6' 2019-05-11 21:58:56 -04:00
nhmall
24fa83e5dc Report of no error msg deliverd by NetHackw.exe for some startup issues 2019-05-11 21:55:27 -04:00
nhmall
de00561855 Merge branch 'master' into NetHack-3.7 2019-05-11 08:50:32 -04:00
nhmall
b50faf4031 Merge branch 'NetHack-3.6' 2019-05-11 08:50:05 -04:00
PatR
4a1f1292d9 fix #H8712 - curses menu selector overflow
The curses interface would assign menu selector characters a-z, A-Z,
and then 0-9, but trying to type 0-9 would start a count rather than
select an entry, and if the display was tall enough for more than 62
entries, the ones after '9' were ASCII punctuation characters.
Limit the number of entries per page to 52 + number_of_'$'_entries
(which should be 0 or 1) so that it won't run out of normal letters.

The perm_invent window, if enabled, ought to allow more than that
because it isn't used to make selections and might have an arbtirary
number of '#' overflow entries.  But I'll leave that for somebody
else to tackle.

Tested by temporarily setting the limit to 26 instead of 52 since
I'm not able to display anything tall enough to exercise the latter.
2019-05-11 03:04:53 -07:00
Pasi Kallinen
217671e00f Remove built-in speaker support
The changes to amiga, mac and msdos builds are untested.
2019-05-11 11:10:00 +03:00