Commit Graph
8983 Commits
Author SHA1 Message Date
PatR 7088247883 vms update revisited
Redo the UCHAR_P handling from df84da3ec2
(5 weeks ago) and 02b21865fd followup.
The earlier #define was happening too late in the #include sequence;
tradstdc.h is processed before global.h+(vmsconf.h,unixconf.h,...).

Also, DEC C in 'common' mode complains about indented '#' starting a
line but not in column 1.  Putting #pragma in column 2 was deliberate
in case of an ancient compiler which doesn't understand that directive.
Splitting the difference via non-indented '# pragma' may or may not
mollify the latter when it's bypassing conditionally excluded code.
2019-04-15 13:48:27 -07:00
nhmall c4465c35ed Merge branch 'NetHack-3.6.2' 2019-04-13 22:40:44 -04:00
nhmall bc8ed91f2b Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-13 22:27:32 -04:00
PatR 0776a864f1 slightly better shop repair feedback
During shop repair, give a message about the shopkeeper using a spell
(if hero is close enough) before "Suddenly, <various repairs occur>."
And when shop repair is for a single untrap of landmine or bear trap
adjacent to shk (and the hero can see it happen), say "<Shk> untraps
<trap>" rather than just "Suddenly, a trap is removed from the floor!"
2019-04-13 17:28:26 -07:00
PatR 5534eab514 probing fix
For the inventory of a probed monster, if the probing took place in
a shop the inventory display would have selling price appended to
all the items.  That wouldn't really be a problem if it was just for
a pet who was carrying one shop item, but it applied to every item
being carried by any probed monster (including shopkeeper) with no
regard for whether the shop actually claimed ownership.
2019-04-13 15:57:16 -07:00
PatR fa98c6fb72 fix #H8534 - thrown pick-axe vs "scum!"
[I accidentally left this out of the earlier patch.]

Change in meaning of mnearto()'s return value wasn't progagated to
shkcatch(). Make it an int instead of boolean so that it can
communicate both 'moved successfully' and 'moved but had to move
another monster out of the way to do so'.
2019-04-12 01:33:42 -07:00
PatR 86e5022293 fix #H8534 - thrown pick-axe vs "scum!"
Change in meaning of mnearto()'s return value wasn't progagated to
shkcatch().  Make it an int instead of boolean so that it can
communicate both 'moved successfully' and 'moved but had to move
another monster out of the way to do so'.
2019-04-11 15:38:51 -07:00
nhmall 558216e0c5 Guidebook.tex corrections 2019-04-10 17:22:18 -04:00
nhmall 08af2b3b92 Merge branch 'NetHack-3.6.2' 2019-04-10 13:06:37 -04:00
nhmall b54fd6b7c5 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-10 12:49:30 -04:00
PatR 14ad5356e5 another STATUS_HILITES optimization
When highlighting is disabled due to 'statushilites' being 0, don't
bother checking whether any temporary highlights are timing out.
2019-04-10 04:29:10 -07:00
PatR 2e30f6916f more !STATUS_HILITES
No point in checking for timed out temporary highlights if there aren't
any highlights.
2019-04-09 17:45:32 -07:00
PatR 2724c88191 Guidebook update
Tweak the status hilites section.  Add a bit of detail about how to
specify both color and attribute and/or multiple attributes.  Also,
change the Guidebook's table of status fields to be column-oriented.
With the exception of 'score', reading down the three columns now
matches going across the status lines.  The previous ordering started
row-oriented but then became scrambled compared to the usual display.

As usual, Guidebook.tex is best guess....
2019-04-09 15:46:19 -07:00
nhmall d4dc1c1eab Merge branch 'NetHack-3.6.2' 2019-04-09 17:29:28 -04:00
nhmall 3b82956360 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-09 17:29:15 -04:00
PatR 24d09e64a3 tty blink & dim attributes
Enable blink and dim for the TERMLIB + !NO_TERMS configuration of the
tty interface.  Blink now works the same as in the curses interface
for status highlights.  The terminal emulator I'm using has an escape
sequence for dim but it evidently doesn't do anything (same no effect
as with curses), so that isn't adequately tested.
2019-04-09 13:16:54 -07:00
nhmall 730f9684eb vs nhsetup bit 2019-04-09 00:41:12 -04:00
nhmall 5258bb0ed4 adjust for recently released MS Visual Studio 2019
win\curses\cursstat.c(886) : error C4703: potentially uninitialized local pointer variable 'p' used
2019-04-09 00:35:02 -04:00
nhw_cron 42343e6287 This is cron-daily v1-Feb-22-2019. guidebook updated: doc/Guidebook.txt 2019-04-07 16:25:19 -04:00
nhw_cron 4b5d2c5830 This is cron-daily v1-Feb-22-2019. files updated: Files 2019-04-07 16:24:26 -04:00
nhmall ea1f04959f Merge branch 'NetHack-3.6.2' 2019-04-06 21:08:01 -04:00
nhmall e05c0323ea Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-06 21:03:41 -04:00
PatR 0e425d645f curses vs !HILITE_STATUS
The curses interface wouldn't build with HILITE_STATUS disabled.  I
started adapting it to handle genl_status_update() but that was taking
too much effort with each niggling detail leading to another.  This
goes the opposite direction:  forcing the old STATUS_VIA_WINDOWPORT
behavior without having that #define available.  That dragged along a
bunch of unexpected changes too.
2019-04-06 15:53:51 -07:00
PatR f52e9865f2 fix #H8481 - placing monster at <0,0>
mon_arrive() -> m_into_limbo() -> migrate_to_level() -> wormgone()
followed by place_monster() "for relmon".  relmon() was changed (last
November, cc5bb44a9a) to not require
the monster be on the map, so just get rid of the place_monster() that
was trying to put the "gone" long worm at <0,0>.

Also, another m_into_limbo() bit:  make mdrop_special_objs() check the
location and send any dropped items to random locations if the monster
dropping things isn't on the map, instead of placing them at <0,0>.
2019-04-06 12:57:29 -07:00
nhmall a30fba15b3 Merge branch 'NetHack-3.6.2' part 2 06-Apr-2019 2019-04-06 09:34:15 -04:00
nhmall add4540ba9 Merge branch 'NetHack-3.6.2' 2019-04-06 09:13:20 -04:00
nhmall 139d429c1d Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-06 09:13:11 -04:00
PatR 0bfd12dd16 tty status
Take care of a minor 'TODO' and make another stab at getting truncated
encumbrance and/or level-description to reset to full size when enough
space becomes available.
2019-04-06 05:36:29 -07:00
nhmall 9a51f8c06f Merge branch 'NetHack-3.6.2' 2019-04-06 08:22:49 -04:00
nhmall 5e53f7995b Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-06 08:22:01 -04:00
PatR b7a884289d botl.c functions
Put the prototypes for routines in botl.c into the same order as the
corresponding functions are in the file.  Also a few were missing and
another few used STATIC_OVL when STATIC_DCL was appropriate.
2019-04-06 01:08:16 -07:00
nhmall 7cefa8331f Merge branch 'NetHack-3.6.2' 2019-04-04 22:37:28 -04:00
nhmall 5ceda78475 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-04 22:33:59 -04:00
PatR 8c4e792770 curses ">>" (terse "--More--")
I've noticed many instances of the game pausing and not being sure why,
then pressing <space> and having it resume.  The curses interface had
a tendency to put its equivalent of the --More-- prompt, >>, somewhere
where that wasn't visible, either off the right hand edge (possibly) or
underneath the window borders if those were enabled.  Especially the
very last one it issues prior to exit.  (An extra one compared to tty
behavior.)

This ended up being a pretty substantial overhaul of message window
handling.  I wouldn't be surprised if it has off-by-one errors which
happen to be paired up and cancel each other out.  ">>" is still drawn
in orange if guicolor is on, now in inverse video when that is off.
If it happens to be drawn at the same screen location in consecutive
instances, the first ">" will toggle between blink and not blink so
that there'll be no doubt as to whether the keypress registered when
dismissing it (moot if the text preceding it is different but there's
no attempt to be smart enough to check that, just screen placement).
2019-04-04 17:55:40 -07:00
PatR 00aa7206f7 opthelp bit 2019-04-04 15:08:56 -07:00
keni 1386d39b32 Merge branch 'NetHack-3.6.2-beta01' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6.2-beta01 2019-04-04 17:01:48 -04:00
keni e0e937e7b6 Solaris hints files from Kevin Smolkowski 2019-04-04 17:00:51 -04:00
PatR e5fea0291e curses prompting
Make the same fix to curses that was done for tty in 3.6.1:  don't
let MSGTYPE entries be matched against prompt strings.  Like tty,
curses was using ordinary pline() to issue prompts; something like
MSGTYPE=hide"yn"
could wreak havoc.  Switch to custompline(OVERRIDE_MSGTYPE,...).
2019-04-04 13:52:14 -07:00
nhmall bfddda7c41 Merge branch 'NetHack-3.6.2' 2019-04-04 08:13:16 -04:00
nhmall 385cfedc84 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-04 08:13:04 -04:00
PatR 505997a702 couple of comment tidbits 2019-04-03 18:31:25 -07:00
nhmall abfd80d3d7 Merge branch 'NetHack-3.6.2' 2019-04-02 12:25:16 -04:00
nhmall d11d91a072 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-02 11:21:10 -04:00
PatR add4d4d724 untested build fix for term_attr_fixup()
modified:
  sys/mac/mttymain.c
  sys/msdos/video.c
  sys/winnt/nttty.c
2019-04-02 07:38:57 -07:00
PatR be966cfe5a curses ^P msg_window:Full
This changes the recently added msg_window:f for curses to start
viewing the old messages on the last page rather than the first.  For
msg_window:Reversed (the default for curses) and for either direction
when all of the message history happens to fit on one page, there's
no change.  But for multiple pages, the FIFO feedback now pads the top
of the first page with blank lines so that the last page is full, and
it starts out showing that last page first.  So if you only want to go
back few or several messages, they will be in view immediately.

Old layout:
|first message (oldest)   |  |1st message of last page |
|2nd message of 1st page  |  | ...                     |
| ...                     |  |final (most recent) mesg |
| ...                     |  | (blank filler)          |
|last message of 1st page |  | (blank filler)          |
|             (1 of 2) => |  |          <= (2 of 2)    |
and ^P started with first page visible and needed normal menu handling,
<space> or '>' or '|', to go forward to view the most recent messages.

New layout:
|1st message of last page |  | (blank filler)          |
|2nd message of last page |  | (blank filler)          |
| ...                     |  |first message (oldest)   |
| ...                     |  | ...                     |
|final (most recent)      |  |last message of 1st page |
| <= (2 of 2)             |  |    (1 of 2) =>          |
and ^P starts on last page (two of two in this example) but can go
back with '<' and '^'.

So if the total size takes one and third pages (which isn't uncommon
for the default number of kept messages), you'll see 3/4 of the most
recent messages on the initial screen, then you can page backward if
you want to see the other 1/4.

The page indicator is deliberately drawn a bit differently just to
draw attention to the fact you're starting on the last page.  I'm not
sure whether that is actually worthwhile but it was trivial to do.
2019-04-02 01:11:59 -07:00
nhmall 3bf0029d56 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2019-04-02 01:45:00 -04:00
PatR 72696a36a5 build fix for X11-only
I didn't noticed this because I've been building for tty+curses+X11
and either of the first two cause iflags.extmenu to exist.  Make it
unconditional; there's not much benefit from trying to suppress it
for configurations that don't need it.
2019-04-01 14:56:00 -07:00
PatR 10dac50433 X11 extended commands menu scrolling
Support for scrolling within menus via first-/previous-/next-/last-
page keystrokes ("^<>|" by default) was added to X11's general menu
handling but the extended commands menu uses a special menu rather
than a general one.  This clones the relevant code to add support for
those keys to extended commands.
2019-04-01 09:27:09 -07:00
PatR 0cad960428 X11 extended command selection
The expansion of the extended commands list to include every command
has made picking extended commands out of X11's menu become tedious.
This uses the existing 'extmenu' option (previously tty-only) to
control whether all the commands are present or just the traditional
subset not bound to non-meta keystrokes ('adjust', 'chat', 'loot', &c).
2019-04-01 08:58:49 -07:00
PatR cd12422af5 curses message suppression
The curses interface was using 'moves' as if it meant "moves" rather
than "turns".  Typing ESC at >> (curses' terser version of --More--)
prompt would suppress messages for the rest of the current turn rather
than just the rest of the current move.  So if the hero got an extra
move due to being Fast, there would be no feedback during that move.
2019-03-31 15:34:46 -07:00