Commit Graph

12858 Commits

Author SHA1 Message Date
Pasi Kallinen
bbd5577063 Fix copy-paste error 2022-02-07 13:09:52 +02:00
PatR
6a8394688b move up/down tweak
Have '<' and '>' accept 'm' prefix for move without autopickup but
disallow the other movement prefix keys.
2022-02-07 02:29:01 -08:00
Pasi Kallinen
e2442c395b Make double fight prefix cancel out 2022-02-07 09:14:47 +02:00
PatR
568ba7b305 more command prefix handling
When a command doesn't allow a prefix, go back to showing the prefix
keystroke in the can't-do-that feedback rather than the command name
that it has for potential binding.  I went away from that earlier
after typing 'G' followed by 'o' and getting "the open command does
not accept 5 prefix" instead of "G prefix".

Fix the lookup routine which was responsible for that.  At least
partially fix it; actually it only ignores digits for !numpad.  If a
numpad user types G where it isn't allowed, the feedback will still
be about 5 instead of G.  The code is going from keystroke-used to
command-it-invokes back to keystroke-for-command which won't
necessarily yield the original keystroke because a command can be
bound to more than one key.
2022-02-06 18:09:23 -08:00
PatR
b3c5d68399 fix movement prefixes
My earlier change resulted in rejecting all commands entered after
a movement prefix key, rather than just ones that aren't supposed to
take any prefix.

This fixes that and also restores the ability to use 'm>' or 'm<' on
stairs to change levels without auto-pickup at the destination.
2022-02-06 17:46:31 -08:00
PatR
f233f1d18c water description
The wall of water goaded me into updating waterbody_name().  It's
mostly the same, aside from being moved from mkmaze.c to pager.c and
adding "{wall of|limitless} water" instead of plain "water" for WATER
terrain.  I'm not very happy with "limitless" for the Plane of Water
because limits imposed by air bubbles are all over the place.  "Wall
of water" might work ok for that level.

Water on Medusa's level is now described as "shallow sea" rather than
lame "water".  The two unusual pools on the Samurai home level are
described as "pond" rather than previous "water" which replaced 3.6's
ridiculous "moat".  When lava is hallucinated, it is described as
"molten <substance>" (yielding silly things like "molten yoghurt"),
rather than just "<substance>" to distinguish it from hallucinated
water.  'autodescribe' doesn't use waterbody_name() though.
2022-02-06 13:20:15 -08:00
nhmall
ac1a7ae378 updates from cron job 2022-02-06 15:14:38 -05:00
PatR
cfd753dd12 command prefix handling
Investigating github issue #664 by argrath turned up a more
significant problem.  Prefixes other than 'm' preceding commands
that don't use a prefix didn't get rejected but didn't do anything.

Fixes #664
2022-02-06 11:51:00 -08:00
Pasi Kallinen
4ee1c66f8f Make solid water behave more consistently
The "water" terrain (as used on the Plane of Water) behaved
strangely outside the plane. Make it behave a bit more consistently,
although it's still not really usable elsewhere.

The rationale here being it's a solid wall of water.

Firstly, disable levitation and flying (which was already done
when moving into the water on the Plane of Water), and moving into
it refers to it as a "wall of water" to make it clear it's a solid
block of water.
2022-02-06 20:38:22 +02:00
Pasi Kallinen
3315a5735e Add unique Rider revival messages
This comes from xNetHack by copperwater <aosdict@gmail.com>
with some changes to the code, although original change is from
SpliceHack.
2022-02-06 20:00:32 +02:00
Pasi Kallinen
82d404ec51 Death attacking a monster does drain life attack 2022-02-06 19:27:20 +02:00
Pasi Kallinen
2bd4386956 Magic traps can toggle intrinsic invisibility
Originally from Sporkhack by Derek Ray
2022-02-06 17:54:09 +02:00
nhmall
19ff846645 prevent Windows back_buffer_flip() early on 2022-02-06 10:47:41 -05:00
nhmall
88e447475e follow up for code-reordering in flush_screen() 2022-02-06 09:57:26 -05:00
PatR
2c456704c4 comment typo 2022-02-06 02:18:17 -08:00
PatR
2ca66eaddb Qt-issues.txt: 'toptenwin' issue was fixed 2022-02-06 01:31:14 -08:00
nhmall
787d184570 some Makefile.mingw32 tweaking 2022-02-06 01:02:27 -05:00
nhmall
3d111a6825 change order of exe dependency in Makefile.mingw32 2022-02-05 21:51:50 -05:00
PatR
44398d90b7 Qt: add tool tips for status window icons
Show a tip if the mouse hovers over any of the various icons displayed
in the status window (for one each of the six characteristics, another
for alignment, and one for each status condition).  They all already
have text labels below but many of those are abbreviated; the tips can
be more verbose since they don't compete with each for for screen space.

Also fixes "weak" not being centered under the hunger icon.  It /was/
centered but invisible trailing spaces made the visible text be shifted
to the left.
2022-02-05 18:43:44 -08:00
nhmall
8aa29f8a08 adjust Makefile.mingw32 for 3.7 date and time stamping
NetHack 3.7 stores timestamp information, as well as github
commit hashs information if available, internally by compiling
date.c. It is important to ensure that date.c is always
recompiled after any other NetHack source files are compiled.
2022-02-05 21:34:55 -05:00
nhmall
05f3e6efd3 update the dependencies in sys/windows/Makefile.msc
As usual for the visual studio nmake Makefile.msc, steal the generated
dependencies from the tail of sys/unix/Makefile.src, and adjust the text
to suit the Windows build.
2022-02-05 20:12:10 -05:00
nhw_cron
3d3febee71 This is cron-daily v1-Feb-3-2022. 000files updated: Files 2022-02-05 15:35:29 -05:00
nhmall
99cdb8bfb5 a slight code-reordering in flush_screen()
despite flush_screen() being called with a True argument signifying that
the cursor was to be left on the hero, sometimes the cursor wasn't. That
was confirmed through some debug tracing and discussion. The subsequent
bot() and timebot() calls could leave the cursor in the status area (on
tty at least), and that was particularly observable during some runmodes.

Get the bot() and timebot() calls out of the way ahead of the cursor
placement call to the window port.
2022-02-05 14:12:18 -05:00
nhmall
ea2e61aba0 Merge branch 'pr668' into NetHack-3.7 2022-02-05 09:33:01 -05:00
nhmall
211b908681 Merge branch 'remove-redundant' of https://github.com/argrath/NetHack into pr668 2022-02-05 08:57:16 -05:00
PatR
f9f209bb49 Qt 5 vs Qt 6 revisited plus 'make depend' update
Rename the recently added timestamp file used to throw away old qt
'moc' files from moc.qt5 or moc.qt6 to Qt5.h-t or Qt6.h-t and use
that to also throw away old qt_*.o when switching from Qt 5 to Qt 6
or vice versa.  Temporarily the old names remain in Makefile.src's
'clean' target and in src/.gitignore but those will be removed soon.

Update 'make depend' to add the timestamp file to qt_*.o dependencies.
Have it generate rules to build qt_*.moc from ../win/Qt/qt_*.h instead
of using a template rule in hints/include/compiler.370.  So building
the Qt interface doesn't require use of that hints file anymore and
someone reading Makefile.src won't have to know about it, but using
those hints will make their life easier.

Simplify the Qt timestamp handling portion of compiler.370.  Only one
extra rule gets added when creating src/Makefile.

src/Makefile generated from sys/unix/Makefile.src that's been rebuilt
with 'make depend' got broken by uncommenting '#include "amiconf.h"'
in global.h.  That file isn't in include/ but every object file now
depended on it and make didn't know what to do about that.  Have
depend.awk treat it as a special case so that no object files depend
on it.  That means that actually modifying it won't trigger a rebuild;
anyone fiddling with that will have to always do 'make clean' or
'touch config.h-t' after changing it.  The alternative is to move it
from outdated/include/ back to include/.

In depend.awk, recent gawk complained that "\." wasn't a defined
escape sequence in regular expressions so it would be treated as ".".
That's exactly what is intended but change it to "[.]" to avoid the
warning.  Similarly for one instance each of "\#" and '\"'.  I also
tried changing "\/" to "[/]" even though that is a defined sequence
and doesn't trigger any warning.  gawk accepted it but the awk that
comes with OSX choked on it so I changed it back to "\/".
2022-02-05 04:15:51 -08:00
SHIRAKATA Kentaro
b87dd4423b remove redundant code
The values of lx and ly are always assigned just before their usage.
So, assignments in advance are redundant.
2022-02-05 20:31:17 +09:00
Pasi Kallinen
20054551f9 Don't push unknown boulders when moving
If you're blind and there's a boulder you don't know about,
don't automatically push it. Instead, give a message and show
the boulder on the map.
2022-02-05 11:30:35 +02:00
Pasi Kallinen
8eb00cf593 Fix thinko in drain life attack
Fixes #667
2022-02-05 10:40:45 +02:00
Pasi Kallinen
93db2a8a84 Rejigger the prefix input
Make prefix commands cancel themselves when pressed twice,
with a message saying so.

Hopefully this fixes the problems I introduced.
2022-02-05 10:05:40 +02:00
nhmall
2e3e53883f remove a workaround in Makefile.mingw32 2022-02-04 23:07:22 -05:00
nhmall
e795dd107e fix Makefile.mingw32 2022-02-04 20:26:05 -05:00
PatR
e8341dc9d7 fix github issue #666 - cursed light vs worn light
Another gold dragon scales/mail issue, reported bu vultur-cadens:
reading a cursed scroll of light extinguishes carried light sources
except for wielded Sunsword and worn gold dragon scales/mail; there
was a special message for Sunsword (preventing the hero from being in
darkness) but no such message for gold dragon scales/mail.  Replace
the special message with a more generic one applicable to both cases.

Also, implement the suggestion that cursed light degrade the amount
of light being emitted (which varies by bless/curse state) for those
two cases.  Sunsword has a 75% chance to resist, gold dragon scales
25% chance.  And add the inverse:  blessed scroll of light might
increase the amount of light by improving their bless/curse state.
The resistance check applies here too and isn't inverted; Sunsword
is still fairly likely to resist.

Uncursed scroll of light, spell of light regardless of skill, zapped
or broken wand of light have so such effect.

Closes #666
2022-02-04 16:20:03 -08:00
nhmall
0fba9cf896 .gitattributes for Xcode directory 2022-02-04 19:01:11 -05:00
nhw_cron
c673750d07 This is cron-daily v1-Feb-3-2022. 000files updated: Files 2022-02-04 18:57:10 -05:00
nhmall
2f83190f8a macOS.370 Lua 2022-02-04 18:55:12 -05:00
nhmall
ee1eff538c Lua link on Jammy Jellyfish 2022-02-04 18:03:08 -05:00
PatR
5b28db5f23 more obsolete files: DECUS C's preprocessor
Get rid sys/share/cpp[123].shr, the pre-ANSI C preprocessor that was
included in the source distribution for use on systems with ancient
C compilers whose preprocessor that couldn't cope with nethack's large
number of macros.
2022-02-04 14:34:46 -08:00
nhmall
6af710bc97 provide a Makefile target to clean the Lua submodule 2022-02-04 17:11:09 -05:00
nhw_cron
82b8175377 This is cron-daily v1-Feb-3-2022. 000files updated: Files 2022-02-04 16:58:50 -05:00
nhw_cron
6e7e676fec This is cron-daily v1-Feb-3-2022. 005guidebook updated: doc/Guidebook.txt 2022-02-04 16:11:05 -05:00
nhmall
a25259a97a more obsolete file references 2022-02-04 15:52:42 -05:00
nhmall
a71d5e3cb3 remove some obsolete file references 2022-02-04 15:43:21 -05:00
nhw_cron
789f5174f0 This is cron-daily v1-Feb-3-2022. 000files updated: Files 2022-02-04 15:38:23 -05:00
nhmall
990d672dce inadvertent space typo 2022-02-04 15:23:23 -05:00
nhkeni
1d210ed722 prevent ..files value from being pull from ..
This was creating extra nethack.ico entries in Files.
2022-02-04 15:11:04 -05:00
nhmall
6057c9813d CI update for mingw
Add GIT=1 to the make-mingw32 command
2022-02-04 15:07:32 -05:00
nhmall
b8489de8eb support use of git submodules with the Makefiles
git=1 when invoking make will use the submodule submodules/lua.

On windows, it will also use the submodule submodules/pdcurses.
2022-02-04 14:48:29 -05:00
nhmall
8499c71fcc update a couple of lagging 3.6 references 2022-02-04 12:47:05 -05:00
nhw_cron
91f7353b65 This is cron-daily v1-Feb-3-2022. 005guidebook updated: doc/Guidebook.txt 2022-02-04 12:37:06 -05:00