Commit Graph

1475 Commits

Author SHA1 Message Date
nhmall
47d4dc50a5 Merge branch 'NetHack-3.6.2' 2018-11-17 08:32:59 -05:00
nhmall
96ec49213f Add some windows command line option hooks 2018-11-16 19:32:00 -05:00
nhmall
93b664874c Merge branch 'NetHack-3.6.2' 2018-11-12 23:24:23 -05:00
nhmall
16e014b39f Merge branch 'win-minor' into NetHack-3.6.2-beta01 2018-11-12 23:15:13 -05:00
Bart House
3bb759a9ab Started work to support per monitor DPI. Using DPI to scale tiles
appropriately.

Renamed ntassert to nhassert.  (Naming mistake caused by using ntassert
at work).

Re-ordered a few more includes to get window headers included before
nethack headers.
2018-11-12 17:45:22 -08:00
PatR
1295e7ee28 conflicting countdowns again
Use the make_foo() intrinsic set/reset routines instead of trying
to manipulate the intrinsics directly.  Previous patch left Dex
down by 1 if stoning caused wounded legs to be fixed, and left
delayed killer allocated if stoning cured sliming or vice versa.
2018-11-12 11:02:40 -08:00
nhmall
a0b53ee391 merge 2018-11-11 10:29:52 -05:00
nhmall
adbe567ba1 Merge branch 'NetHack-3.6.2' 2018-11-10 15:09:41 -05:00
nhmall
9fa71d4976 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-11-10 15:09:02 -05:00
PatR
91f973306b build and bug fixes for USE_OLDARGS
New:  call to panic() in impossible() used arbitrary string as a
format so was vulnerable to percent signs in that string.  (This
potentially serious problem is not limited to USE_OLDARGS.)

Old:  revised message string for impossible ("save/restore might fix
this" instead of "perhaps you'd better quit") passed wrong number of
arguments to pline() when using the clumsy VA_PASSx() mechanism (was
missing arg 0 for the fixed-arg format argument).

Old:  varargs config_error_add() in files.c wouldn't compile for
USE_OLDARGS.  Evidently no one has been impacted by that but this
fixes it anyway.  (Two problems:  prototype used FDECL() when it
should have been using VDECL(), and calls to config_error_add() in
the same file would need the VA_PASSx() stuff to force presence of
all optional args.  I moved it instead of adding the latter.)
2018-11-08 15:33:03 -08:00
Pasi Kallinen
0bb6754998 Fuzz testing debug tool
Add code to run a fuzz tester, simulating (more-or-less) random
keyboard mashing. There's no option to turn it on, you need to
set iflags.debug_fuzzer on via a debugger or something along
those lines.
2018-11-08 15:55:49 +02:00
nhmall
9aa8278394 Merge branch 'NetHack-3.6.2' 2018-11-04 17:30:16 -05:00
nhmall
b5508d4269 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-11-04 17:29:08 -05:00
PatR
89a3f4a3fd ^X again
Add a new line for one last missing status field:  gold.
Also add one for proficiency with current weapon.

Move a few lines from 'characteristics' to 'background' and a few
more from 'characteristics' to new 'basics', leaving characteristics
with the six original characteristics:  Str, Con, Dec, &c.
2018-11-02 00:59:01 -07:00
nhmall
cba260641d Merge branch 'NetHack-3.6.2' 2018-10-27 19:30:23 -04:00
nhmall
b720c36b42 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-10-27 19:29:50 -04:00
Pasi Kallinen
6d70997869 X11: Reuse menu code to display files
Previously the code used the ASCII Text Athena widgets for displaying
file contents. Unfortunately, the widget made it impossible to control
scrolling or pretty much anything else.

Use the menu code instead, making the file display window behave properly.
2018-10-27 13:58:59 +03:00
PatR
1273d6817e provide dungeon location in ^X feedback
Dungeon level wasn't included in ^X output, so it wasn't actually
giving all status fields and attempting to rely on it when turning
off 'status_updates' was leaving a gap in feedback for the player.
Add an extra line to the first section where character's name and
patron deity are reported, giving current location.
|You are in the Dungeons of Doom, on level 5.
or
|You are in the endgame, on the Elemental Plane of Fire.

The information is more explicit than the basic status field, but
you can already get similar information via #overview so it isn't
giving away extra info.
2018-10-27 03:45:18 -07:00
nhmall
968a958853 Merge branch 'NetHack-3.6.2' 2018-10-25 17:54:37 -04:00
nhmall
d246b90f0f Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-10-25 17:53:31 -04:00
Pasi Kallinen
45ecbb84d6 X11: Move color and font structs
... so that other window types can also use them.
2018-10-23 20:30:48 +03:00
Pasi Kallinen
0470065b47 X11: TTY-style status lines
Set X resource NetHack*fancy_status: False to enable the TTY-style
status lines. Default is the fancy status.

This patch is somewhat unfinished - even though the TTY-style status
allow for status hilites, the colors don't work correctly yet.
Also changes the fancy status to use the windowport notification code.
2018-10-22 21:26:56 +03:00
Pasi Kallinen
d648f4c371 X11: save and load message history 2018-10-21 17:26:24 +03:00
keni
870b71de8c Deprecate "makedefs -m".
mons[].difficulty takes over for monstr[]
Invoking "makedefs -m" gives a deprecation message; it is also included
in the (now mostly empty) monstr.c.
Ports should now remove "makedefs -m" from their build procedures but this
commit does not include that change.
2018-10-21 08:45:55 -04:00
keni
f222023bd8 Deprecate "makedefs -m".
mons[].difficulty takes over for monstr[]
Invoking "makedefs -m" gives a deprecation message; it is also included
in the (now mostly empty) monstr.c.
Ports should now remove "makedefs -m" from their build procedures but this
commit does not include that change.
2018-10-20 23:14:33 -04:00
nhmall
069b174c32 Merge branch 'NetHack-3.6.2' 2018-10-18 23:26:20 -04:00
nhmall
6a896bd9a4 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-10-18 21:44:30 -04:00
Pasi Kallinen
fa5e5ac4b4 X11: Obey menu movement keys 2018-10-18 18:39:27 +03:00
nhmall
a15c49d663 Merge branch 'NetHack-3.6.2' 2018-10-14 13:05:31 -04:00
nhmall
b7ca652ee3 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-10-12 21:09:40 -04:00
Pasi Kallinen
9f2f232d99 X11: Allow bold attribute for menucolors 2018-10-12 20:46:19 +03:00
nhmall
860fef3f61 Merge branch 'NetHack-3.6.2' 2018-10-11 22:28:18 -04:00
nhmall
f73726e68c Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-10-11 22:27:45 -04:00
Pasi Kallinen
62234b871f X11: Remember perm_invent window geometry 2018-10-11 20:18:07 +03:00
nhmall
3ef1e0ece8 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-10-11 08:27:05 -04:00
Pasi Kallinen
e48c61c06f X11: Menucolors
Replace the XawList with our own lists of labels and command widgets
to allow for menucolors. Supports only inverse line attribute for now.

Allow key translations to work with menus on Linux.
2018-10-10 21:50:23 +03:00
nhmall
41a10e28ae Merge branch 'NetHack-3.6.2' 2018-10-06 12:54:27 -04:00
nhmall
232f016257 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-10-06 12:53:41 -04:00
PatR
053880c149 untrap downwards while over trap
Force trap to activate during failed untrap attempt if done while
already at the trap's location, to match the recent change in
behavior when failed attempt occurs while adjacent to the trap.

Most noticeable while flying over bear traps, but affects all
failed untrap attempts.
2018-09-30 16:37:32 -07:00
PatR
3e19858edd fix #H6925 - being trapped vs Levitation/Flying
Make being trapped in/on/over floor block Levitation and Flying, the
way that being inside solid rock already does, and the way levitating
blocks flight.

Blocked levitation still provides enhanced carrying capacity since
magic is attempting to make the hero's body be bouyant.  I think that
that is appropriate but am not completely convinced.

One thing that almost certainly needs fixing is digging a hole when
trapped in the floor or tethered to a buried iron ball, where the
first part of digactualhole() releases the hero from being trapped.
If being released re-enables blocked levitation, the further stages
of digging might not make sense in some circumstances.

I recently realized that being held by a grabbing monster is similar
to being trapped so should also interfere with levitation and flying.
Nothing here attempts to address that.

Save files change, but in a compatible fashion unless trapped at the
time of saving.  If someone saves while trapped prior to this patch,
then applies it and restores, the game will behave as if the patch
wasn't in place--until escape from trap is achieved.  (Not verified.)
2018-09-30 01:06:59 -07:00
nhmall
c29e4c572e Merge branch 'NetHack-3.6.2' 2018-09-30 00:12:08 -04:00
nhmall
09effe1677 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-09-30 00:11:30 -04:00
nhmall
ef199f3763 one more update for the right of the status line
This tracks the last character written on each row and clears
the previous content from the end independently of which field
is actually involved.
2018-09-29 23:21:11 -04:00
nhmall
d1c5649890 revisit display artifact appearing to the right of status line
The prior fix for this was a bit flawed. It was only considering
the length of the last field, but what it really needed to do was
consider the placement of the last character of the last field
on the row relative to the placement of the last character of
the last field on the row previously.

If the new placement of that last character of the last field
is left of the previous placement, some clearing must be done.
2018-09-29 22:28:10 -04:00
nhmall
1ac064f03f Merge branch 'NetHack-3.6.2' 2018-09-28 20:01:41 -04:00
nhmall
141ddb98dc Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-09-28 20:01:08 -04:00
nhmall
394c72d366 display cleanup only targets the right-most field where it's needed 2018-09-28 12:55:30 -04:00
nhmall
b14d495ce4 Merge branch 'NetHack-3.6.2-beta01' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6.2-beta01 2018-09-28 02:09:30 -04:00
nhmall
5639539568 tty: fix leftover display artifact when last field on the row got smaller 2018-09-28 02:09:07 -04:00
PatR
21db5a3ae6 alternate bear trap fix
Fix the situation of Flying hero failing to untrap a bear trap that
was resulting in the trap becoming hidden.  Previous fix prevented
hero from moving onto the trap's location so that the reason for
hiding it didn't occur.  This moves the hero and forces the trap,
so it will become unhidden again before there's any chance to notice
that it had been hidden.

Status 'Flying' conflicts with being trapped at floor level, but that
is a separate, known issue.  I'll have to resurrect my unfinished fix
for that sooner rather than later.
2018-09-27 18:42:12 -07:00