Derek S. Ray [Wed, 6 May 2015 21:48:35 +0000 (17:48 -0400)]
update fixes with a few things
Derek S. Ray [Tue, 5 May 2015 22:30:58 +0000 (18:30 -0400)]
cherry-pick the YACC/LEX upgrades from elsewhere
nhmall [Mon, 4 May 2015 21:56:35 +0000 (17:56 -0400)]
Merge branch 'master' into win32-x64-working
Pasi Kallinen [Mon, 4 May 2015 19:19:27 +0000 (22:19 +0300)]
Melded pudding object may be gone
PatR [Mon, 4 May 2015 15:49:21 +0000 (08:49 -0700)]
more "deleting worn obj"
Lit candles and burning potions of oil can be on the migrating objects
list and get deleted before arrival, so they need the same cleanup as
rotting corpses to prevent obfree from complaining that they're worn.
karnov [Mon, 4 May 2015 02:08:07 +0000 (22:08 -0400)]
Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource
Pull to resync.
karnov [Mon, 4 May 2015 02:03:09 +0000 (22:03 -0400)]
Made sysconf define contiditional to ensure no double inclusion.
nhmall [Mon, 4 May 2015 00:53:04 +0000 (20:53 -0400)]
Merge branch 'master' into win32-x64-working
Conflicts:
src/dig.c
src/mkobj.c
Changes to be committed:
modified: src/dig.c
modified: src/mkobj.c
PatR [Sun, 3 May 2015 23:57:09 +0000 (16:57 -0700)]
owornmask sanity_check fix and enhancement
Thinko fix: sanity checking for owornmask was mis-treating
OBJ_MIGRATING as OBJ_MINVENT of migrating monsters rather than as
unattended objects and would have had problems similar to obfree's
inappropriate impossible check.
Sanity checking for objects worn in invalid slots (amulet worn in
a ring slot and so forth) is extended to items worn by monsters.
Also add a check for wielded coins since the loophole that let them
become wielded has been closed.
PatR [Sun, 3 May 2015 23:54:53 +0000 (16:54 -0700)]
fix "deleting worn object" impossibility
Migrating objects overload obj->owornmask with a destination code,
so rot_corpse needs to clear that before deleting corpses. (Buried
objects don't touch owornmask, so rot_organic, which does the actual
object deletion, shouldn't need any similar change.)
The corpses with owornmask 3 that have been observed recently were
slated to arrive on the up stairs, so presumeably fell down the down
stairs of the current level and rotted before the hero went down.
Put plainly, it was the [post-3.4.3] impossible() check which was in
error, not the active game data.
nhmall [Sun, 3 May 2015 13:01:46 +0000 (09:01 -0400)]
Merge branch 'master' into win32-x64-working
PatR [Sun, 3 May 2015 08:22:25 +0000 (01:22 -0700)]
fix "gold wield inconsistency"
'w$' reported "you can't wield gold" but
'w*$', choosing from inventory and picking gold, let you wield gold.
The old code checked whether gold had been picked before checking
whether '?' or '*' had been picked to request selection from inventory.
This wasn't an issue with 3.4.3's !GOLDINV configuration (but probably
was for anyone who explicitly switched to GOLDINV) because getobj()'s
callers only inserted gold into inventory when they intended to accept
it as a valid choice.
Fix is just to swap two adjacent 'if' blocks in getobj() so that '*'
is processed before the test of whether '$' has been chosen. Most of
the diff is indentation and other minor reformatting.
PatR [Sun, 3 May 2015 08:03:24 +0000 (01:03 -0700)]
tiles lint
Several instances of "comparison between signed and unsigned".
win/share/tiletext.c
win/X11/tile2x11.c
PatR [Sun, 3 May 2015 07:47:10 +0000 (00:47 -0700)]
tiles-related build stuff
* Add missing entry for include/tile.h to (top)/Files; also
add new entry for generated file util/tiletxt.c (Unix only);
* Add several missing entries for tile utility programs that
can be built by sys/unix/Makefile.utl to util/.gitignore;
* Update sys/unix/Makefile.utl to build 'tilemap' differently so
that it won't leave behind an unwanted subdirectory tree under OSX:
util/tilemap.dSYM/
util/tilemap.dSYM/Contents/
util/tilemap.dSYM/Contents/Info.plist
util/tilemap.dSYM/Contents/Resources/
util/tilemap.dSYM/Contents/Resources/DWARF/
util/tilemap.dSYM/Contents/Resources/DWARF/tilemap
It now generates util/tiletxt.c on the fly, to be compiled into
tiletxt.o, so that tilemap.c can be compiled in the ordinary
manner and tilemap.o can be kept around for dependency checking.
(Creating real source file win/share/tiletxt.c would be a little
bit cleaner, but it's effectively two lines long so seems silly
to be in the source distribution.) I looked to see whether I
could find a linker or compiler option to suppress that stuff but
failed. I'm sure something of the sort must exist but didn't
pursue it. Someday I might actually learn about how OSX works....
Pasi Kallinen [Sun, 3 May 2015 07:31:24 +0000 (10:31 +0300)]
Randomize secret door locations
... in the Wizard quest locate level and Rodney tower entrance
Pasi Kallinen [Sun, 3 May 2015 05:56:39 +0000 (08:56 +0300)]
Barb quest home has a forest
PatR [Sun, 3 May 2015 02:44:35 +0000 (19:44 -0700)]
tiletxt lint
Use 'const' for string literals when compiling win/share/tilemap.c
with '-DTILETEXT' to generate util/tiletxt.o.
nhmall [Sat, 2 May 2015 22:18:36 +0000 (18:18 -0400)]
Merge branch 'master' into win32-x64-working
nhmall [Sat, 2 May 2015 22:16:11 +0000 (18:16 -0400)]
commit the latest update for wiz_identify
git add mistake on my part
nhmall [Sat, 2 May 2015 22:04:20 +0000 (18:04 -0400)]
permanent wiz_identify correction
wiz_identify (^I) is supposed to bring up the inventory list
with the items identified, in contrast to the regular (I)
inventory, but only for that inventory display.
It is intended that if you then hit ^I again while at that
wiz_identify inventory menu, you'll trigger permanent
identification of itemsand any other key is supposed to
leave them as they were.
In tty however, <space> was doing the same thing as the
second ^I, and permanently identifying everything.
So, for those that like to <space> through menus (like
me) this makes it work as originally intended and
requires a deliberate second ^I at the menu to permanently
identify. (It might also allow trigger permanent ID if you hit
underscore, but nobody "underscores" through menus,
so that's ok.)
Pasi Kallinen [Sat, 2 May 2015 20:23:04 +0000 (23:23 +0300)]
Make the slanted bigrm have more variance
Pasi Kallinen [Sat, 2 May 2015 20:19:38 +0000 (23:19 +0300)]
Occasionally fog maze bigrm is not made of fog
Pasi Kallinen [Sat, 2 May 2015 20:04:13 +0000 (23:04 +0300)]
More variations for bigrm-1
Pasi Kallinen [Sat, 2 May 2015 19:17:47 +0000 (22:17 +0300)]
Minor variation for Earth and Astral planes
Pasi Kallinen [Sat, 2 May 2015 19:10:07 +0000 (22:10 +0300)]
Replace some pools in Hea quest home with floor
nhmall [Sat, 2 May 2015 19:06:19 +0000 (15:06 -0400)]
Merge branch 'master' into win32-x64-working
Pasi Kallinen [Sat, 2 May 2015 19:04:40 +0000 (22:04 +0300)]
More minetown and mine end variation
nhmall [Sat, 2 May 2015 18:53:04 +0000 (14:53 -0400)]
Merge branch 'master' into win32-x64-working
Pasi Kallinen [Sat, 2 May 2015 18:20:36 +0000 (21:20 +0300)]
Make Monk quest home match Priest one
Pasi Kallinen [Sat, 2 May 2015 18:04:19 +0000 (21:04 +0300)]
Add random trees to Ranger quest home
nhmall [Sat, 2 May 2015 18:04:17 +0000 (14:04 -0400)]
Merge branch 'master' into win32-x64-working
Pasi Kallinen [Sat, 2 May 2015 17:55:32 +0000 (20:55 +0300)]
Random holes in the walls of Sam quest goal
nhmall [Sat, 2 May 2015 17:53:08 +0000 (13:53 -0400)]
Merge branch 'master' into win32-x64-working
Resolved Conflicts:
src/cmd.c
src/mkobj.c
All conflicts fixed but you are still merging.
Changes to be committed:
modified: dat/Priest.des
modified: dat/Rogue.des
modified: dat/Valkyrie.des
modified: dat/Wizard.des
modified: dat/gehennom.des
modified: src/cmd.c
modified: src/mkobj.c
modified: src/steal.c
modified: sys/share/lev_yacc.c
modified: util/lev_comp.y
Pasi Kallinen [Sat, 2 May 2015 17:47:02 +0000 (20:47 +0300)]
Random melted spots in Valk quest home
Pasi Kallinen [Sat, 2 May 2015 17:29:15 +0000 (20:29 +0300)]
Add some clouds to the Wiz quest
Pasi Kallinen [Sat, 2 May 2015 16:54:45 +0000 (19:54 +0300)]
Add trees to Priest quest home level
Pasi Kallinen [Sat, 2 May 2015 16:27:05 +0000 (19:27 +0300)]
Put Rogue quest home monsters on the "streets"
Pasi Kallinen [Sat, 2 May 2015 15:33:14 +0000 (18:33 +0300)]
Update pregenerated levcomp lex and yacc files
Pasi Kallinen [Sat, 2 May 2015 15:29:31 +0000 (18:29 +0300)]
Make the Valley have slight variations
Dion Nicolaas [Sat, 2 May 2015 12:02:10 +0000 (14:02 +0200)]
Some work on the BCC make file.
This is still not complete; the linker is complaining for both builds (NetHack and NetHackW.)
Also, the change to make it build both versions wasn't done yet.
Dion Nicolaas [Sat, 2 May 2015 11:48:44 +0000 (13:48 +0200)]
BCC is more strict about not statements before parameter declarations
PatR [Sat, 2 May 2015 09:44:57 +0000 (02:44 -0700)]
more owornmask sanity_check
Fix the problem with erroneously detecting wielded or quivered
chained ball which legitimately has more than one mask bit set.
Add an additional check for valid wornmask of an item somehow worn
in an invalid slot (such as an amulet in one of the ring slots).
Only lightly tested; it really needs debugger assistance to force
various invalid situations but I don't know gdb well enough for that.
PatR [Sat, 2 May 2015 02:44:56 +0000 (19:44 -0700)]
enlightenment for polymorph & lycanthropy
Fine-tune lycanthropy feedback by combining "you are a werecritter"
and "you are in beast form" into one message. Also, add some new
feedback when lycanthropy and intrinsic polymorph are blocked by
intrinsic unchanging.
karnov [Sat, 2 May 2015 02:43:42 +0000 (22:43 -0400)]
Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource
Adding sysconf makefile changes to allow builds under both old and new methods (part 1).
karnov [Sat, 2 May 2015 02:36:17 +0000 (22:36 -0400)]
sysconf fixes
PatR [Sat, 2 May 2015 01:01:12 +0000 (18:01 -0700)]
stabilize loss of gold
When gold is stolen by a leprechaun or lost when being "overwhelmed
by an urge to take a bath" while dipping in a fountain, if you had
99 gold pieces or less, you'd lose all of it (in the bath case, only
if it was at least 10 to start with), but if you had 100 or more,
you would lose a random amount which could be as little as 1. And
in the bath case, if the random amount was less than 10, you would
lose nothing but be told that "you lost some of your money in the
fountain". After this change, it is still possible to lose less
when starting with more, but not as likely and not as extreme a case
as maybe losing only 1 when starting with thousands.
The fountain-dip bath case has code to handle mutiple denominations
of coins, possibly the only place in the program where that exists.
I've left that alone although it should probably be taken out....
nhmall [Fri, 1 May 2015 22:36:39 +0000 (18:36 -0400)]
Merge branch 'master' into win32-x64-working
nhmall [Fri, 1 May 2015 22:34:06 +0000 (18:34 -0400)]
fixes entry for previous bubble fix
Changes to be committed:
modified: doc/fixes35.0
nhmall [Fri, 1 May 2015 22:24:59 +0000 (18:24 -0400)]
Merge branch 'AlexK-misc'
Pasi Kallinen [Fri, 1 May 2015 19:03:10 +0000 (22:03 +0300)]
Handle boulder-option in config file
Setting boulder in config file did not work correctly in post-3.4.3
code, due to the symset changes.
nhmall [Fri, 1 May 2015 12:22:36 +0000 (08:22 -0400)]
Merge branch 'master' into win32-x64-working
Resolved Conflicts:
src/mkobj.c
src/mon.c
src/options.c
Changes to be committed:
modified: DEVEL/hooksdir/nhsub
modified: src/invent.c
modified: src/mkobj.c
modified: src/mon.c
modified: src/options.c
Pasi Kallinen [Fri, 1 May 2015 11:52:25 +0000 (14:52 +0300)]
Uninitialized variable
nhmall [Fri, 1 May 2015 11:39:53 +0000 (07:39 -0400)]
another ball & chain tweak
checking if uball is OBJ_FREE was inappropriate, because
sometimes it is in inventory.
PatR [Fri, 1 May 2015 09:32:14 +0000 (02:32 -0700)]
sanity check owornmask
Extend the processing done by the wizard mode 'sanity_check' option
to look for anomalies with obj->owornmask since there seem to have
been a few lately. I haven't actually triggered any so this code
isn't very well exercized yet.
sanity_check uses pline() rather than impossible() or debugpline()
to deliver messages so might not be very useful with keymasking.
A sizeable chunk of this diff is just cleaning up indentation so
that I could see what I was working with....
Pasi Kallinen [Fri, 1 May 2015 08:55:15 +0000 (11:55 +0300)]
Initialize variable
keni [Fri, 1 May 2015 02:01:12 +0000 (22:01 -0400)]
Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource
keni [Fri, 1 May 2015 02:00:19 +0000 (22:00 -0400)]
nhsub: add -m flag for fixing commit dates
PatR [Fri, 1 May 2015 00:59:05 +0000 (17:59 -0700)]
lint: use const for string literal
Derek S. Ray [Thu, 30 Apr 2015 22:34:32 +0000 (18:34 -0400)]
limit obj manipulation by handless creatures
something that is M1_NOHANDS ought not to be able to pick up a pile of
rocks, daggers, or gold pieces unless it has other features that would
permit such a thing.
nhmall [Thu, 30 Apr 2015 12:29:21 +0000 (08:29 -0400)]
Merge branch 'master' into win32-x64-working
nhmall [Thu, 30 Apr 2015 12:26:46 +0000 (08:26 -0400)]
can't use BALL_IN_MON after u.uswallow set to 0
u.uswallow is set to 0 a couple of lines above so
the test will never be TRUE.
nhmall [Thu, 30 Apr 2015 10:39:44 +0000 (06:39 -0400)]
Merge branch 'master' into win32-x64-working
Conflicts:
src/mon.c
src/options.c
src/pickup.c
src/zap.c
Changes to be committed:
modified: doc/Guidebook.mn
modified: doc/Guidebook.tex
modified: doc/fixes35.0
modified: include/color.h
modified: include/extern.h
modified: include/mondata.h
modified: src/ball.c
modified: src/dbridge.c
modified: src/dig.c
modified: src/display.c
modified: src/dokick.c
modified: src/dungeon.c
modified: src/fountain.c
modified: src/invent.c
modified: src/mkmaze.c
modified: src/mkobj.c
modified: src/mon.c
modified: src/monmove.c
modified: src/mthrowu.c
modified: src/options.c
modified: src/pickup.c
modified: src/sit.c
nhmall [Thu, 30 Apr 2015 03:53:31 +0000 (23:53 -0400)]
fix a panic and infinite recursion
Changes to be committed:
modified: src/ball.c
modified: src/display.c
modified: src/mon.c
nhmall [Thu, 30 Apr 2015 00:54:11 +0000 (20:54 -0400)]
comment rearranged
Requested by Sean for some work he's doing for reindent.
Alex Kompel [Wed, 29 Apr 2015 19:27:01 +0000 (12:27 -0700)]
win32_gui: fix text window background color
Pasi Kallinen [Wed, 29 Apr 2015 17:35:46 +0000 (20:35 +0300)]
Extract ball and chain before flooreffects
Pasi Kallinen [Wed, 29 Apr 2015 14:04:49 +0000 (17:04 +0300)]
Check for valid coord in obj_nexto_xy
Pasi Kallinen [Wed, 29 Apr 2015 13:28:01 +0000 (16:28 +0300)]
Prevent monsters throwing items out of map
If a monster was in the projectile's path, the projectile stopping
checks would not be reached. The thrown object could fly up to
the maximum range, through walls, or even outside the map.
Pasi Kallinen [Tue, 28 Apr 2015 19:14:20 +0000 (22:14 +0300)]
Unquiver gold before making it vanish
This fixes a complaint for "deleting worn obj": If reading a cursed
spellbook took your money, and the gold was quivered.
Pasi Kallinen [Tue, 28 Apr 2015 11:13:01 +0000 (14:13 +0300)]
Make spell list title obey menu_headings
Pasi Kallinen [Tue, 28 Apr 2015 09:46:39 +0000 (12:46 +0300)]
Exclude "grey" from color picker menu
nhmall [Tue, 28 Apr 2015 03:42:06 +0000 (23:42 -0400)]
trade a segfault for a panic
Changes to be committed:
modified: src/invent.c
modified: src/options.c
Apparently we need this based on Pasi's segfault. We just
don't yet know why we need them.
Also fix a warning:
..\src\options.c(1282) : warning C4101: 'tmp' : unreferenced local variable
Pasi Kallinen [Mon, 27 Apr 2015 19:15:23 +0000 (22:15 +0300)]
Unify getting terrain under drawbridge
Pasi Kallinen [Mon, 27 Apr 2015 18:31:25 +0000 (21:31 +0300)]
Unify guards yelling
Pasi Kallinen [Mon, 27 Apr 2015 18:09:26 +0000 (21:09 +0300)]
Add is_watch define for watchmen
Pasi Kallinen [Mon, 27 Apr 2015 15:43:55 +0000 (18:43 +0300)]
Allow all text attributes for menu_headings
Pasi Kallinen [Mon, 27 Apr 2015 14:45:40 +0000 (17:45 +0300)]
Allow changing menucolors in-game via Options
Pasi Kallinen [Mon, 27 Apr 2015 13:18:59 +0000 (16:18 +0300)]
Show only beginning of annotation when redoing it
PatR [Mon, 27 Apr 2015 08:22:39 +0000 (01:22 -0700)]
more BUCX: union vs intersection
Fix filtering used by the 'D' command, and a few other activities that
allow both object class filtering and bless/curse state filtering, so
that when both class(es) and state(s) are specified, objects need to
match both rather than either. D?C will present the player with cursed
scrolls to drop rather than all scrolls plus all other cursed objects.
This also fixes another instance when gold could end up with its bknown
flag set.
nhmall [Sun, 26 Apr 2015 22:08:50 +0000 (18:08 -0400)]
Merge branch 'AlexK-misc' into win32-x64-working
Alex Kompel [Sun, 26 Apr 2015 21:47:38 +0000 (14:47 -0700)]
bubble structure contains pointer into static array. Bubble objects
are being flat-dumped into save file and this causes segfault in restore()
whenever data segment layout changes (e.g. global variables added/removed).
bmask should either be stored with the objects.
Dion Nicolaas [Sun, 26 Apr 2015 17:17:04 +0000 (19:17 +0200)]
Make nhsetup switch to the right directory always, and improve detection of double-click
Dion Nicolaas [Sun, 26 Apr 2015 13:49:18 +0000 (15:49 +0200)]
Merge branch 'win32-x64-working' of https://rodney.nethack.org:20040/git/NHsource into win32-x64-working
Dion Nicolaas [Sun, 26 Apr 2015 13:47:14 +0000 (15:47 +0200)]
Fix a Borland compile error. Now fix the linking...
Pasi Kallinen [Sun, 26 Apr 2015 12:56:28 +0000 (15:56 +0300)]
Prevent possible buffer overflow
getlin() gets at most a BUFSZ string from user; make the buf big
enough to hold that _and_ the query itself.
nhmall [Sun, 26 Apr 2015 12:39:18 +0000 (08:39 -0400)]
Merge branch 'master' into win32-x64-working
PatR [Sun, 26 Apr 2015 10:20:58 +0000 (03:20 -0700)]
'I' command support for BUCX
Allow the 'I' command to show inventory of known blessed items via
pseudo object classes B, C, U, and X. That's instead of an showing
inventory of specific object class. The two can't be combined
because 'I' operates on single character input.
I had to modify tty_yn_function to prevent it from forcing a BUCX
character into lower case (simply using lower case would cause a
conflict with 'u' and 'x' for inventory of shopping bill), and did
that by checking whether any of the acceptable response characters
are upper case. Pretty straightforward and shouldn't impact any
other uses that don't specify upper case choices.
I did the same thing for X11. Other interfaces most likely need
to do something similar. If they don't, a response of 'B' or 'C'
(for menustyle:traditional or menustyle:combination) will simply
not work, without causing any problems, same as typing an invalid
choice, and 'U' or 'X' will give shop feedback instead of the
requested subset of inventory.
The Guidebook revisions are untested.
Pasi Kallinen [Sun, 26 Apr 2015 08:29:54 +0000 (11:29 +0300)]
Add level annotating to the Call menu
Via UnNetHack
Pasi Kallinen [Sun, 26 Apr 2015 08:10:34 +0000 (11:10 +0300)]
Show level annotation when overwriting existing one
Idea by Chris Smith, via UnNetHack
Pasi Kallinen [Sun, 26 Apr 2015 07:57:21 +0000 (10:57 +0300)]
Mung annotation spaces
Pasi Kallinen [Sun, 26 Apr 2015 07:46:38 +0000 (10:46 +0300)]
Show level annotation on level entry
Idea by Chris Smith, via Unnethack
nhmall [Sat, 25 Apr 2015 19:49:14 +0000 (15:49 -0400)]
comment termination bit
nhmall [Sat, 25 Apr 2015 14:51:07 +0000 (10:51 -0400)]
checkfile protection from caller
Changes to be committed:
modified: src/pager.c
nhmall [Sat, 25 Apr 2015 12:58:59 +0000 (08:58 -0400)]
Merge branch 'master' into win32-x64-working
Conflicts:
src/end.c
src/files.c
src/options.c
Pasi Kallinen [Sat, 25 Apr 2015 12:19:13 +0000 (15:19 +0300)]
Show only the short automatic glyph description
When you turn on the automatic description of a glyph under cursor,
we want to show the short description of what glyph it actually is.
The long full description of all possibilities is far too long, so
may cause more-prompts, and is awkward for blind players.
Pasi Kallinen [Sat, 25 Apr 2015 09:56:51 +0000 (12:56 +0300)]
Also allow q at the Itemized billing -prompt
Original change via AceHack by Alex Smith
PatR [Sat, 25 Apr 2015 09:11:13 +0000 (02:11 -0700)]
isspace() usage
Replace most uses of isspace() with a simple test for ' ' after
processing the string buffer with mungspaces (which replaces tab
with space, converts instances of consecutive whitespace into a
single space, and removes leading and trailing spaces). The uses
where this wasn't done now cast their argument to (uchar) so that
platforms with signed chars will never pass negative values to it.
I didn't mess with the menu coloring code (except for casts to the
isspace() argument); it almost certainly could benefit from using
mungspaces. I did mess with the symset processing quite a bit,
and hope I haven't accidentally broken anything. Default symbols
and DECgraphics symbols still parse and display ok, so the rest of
dat/symbols should be ok too. I didn't test symbols in the user's
config file because I don't remember how that's supposed to work.
Pasi Kallinen [Sat, 25 Apr 2015 09:00:39 +0000 (12:00 +0300)]
Fix adding doors to levels
Pasi Kallinen [Sat, 25 Apr 2015 03:24:36 +0000 (06:24 +0300)]
Fix out-of-map condition in buzz
nhmall [Sat, 25 Apr 2015 02:40:46 +0000 (22:40 -0400)]
Merge branch 'master' into win32-x64-working