Commit Graph

4081 Commits

Author SHA1 Message Date
nethack.rankin
9f2ca00138 fix [part of] #H2554 - hunger when declining to attack peaceful monst
Reported last December by <email deleted>, attempting to move
into a peaceful monster's position and then declining to attack at the
confirmation prompt uses no time, as expected, but does burn nutrition
the same as if you carried out the attack.  A player could abuse that to
make room to eat an intrinisic-conferring corpse before it rots away.
This fixes that, and also makes attacking a monster via applying a polearm
and via kicking burn the same extra nutrition as ordinary attack.  I didn't
add it for attacking via throwing.

     He/she also reported that kicking at a peaceful monster and declining
to attack at the prompt wakes up nearby monsters even though no actual kick
ultimately takes place.  I can confirm that, but this does not fix it.
2012-05-01 02:22:33 +00:00
nethack.rankin
889e3fa0b6 magic whistle vs steed
From a bug report, using a magic whistle when
you're mounted and standing on a trap location would cause your steed to
trigger the trap even though it didn't move.  Since it is already at the
same place as you, make steed be unaffected by magic whistle so that trap
complications can be avoided.
2012-04-30 22:00:25 +00:00
nethack.rankin
ebf42e6746 fix #H2642 - escaping from drowning by moving diagonally
From a bug report, you could crawl
out of water to avoid drowning by moving diagonally into an intact doorway
even though regular movement won't allow that.  (Second version of Medusa's
level has a door adjacent to water.)  You could also escape diagonally when
polymorphed into a grid bug.
2012-04-30 21:25:05 +00:00
keni
2dc1a2e21e new CC macro for accurately centering a single character column key 2012-04-30 01:11:00 +00:00
keni
371eb4483c Align the hyphens in .PL. 2012-04-22 14:55:41 +00:00
keni
a187ad7011 Another try on the .PL macro. 2012-04-21 03:01:03 +00:00
nethack.rankin
8a288949d6 mirror vs looking glass
People in the newsgroup are rehashing the entries on our bugs page
trying to figure out whether the bugs are still present in "NetHack 4",
and one is about messages for mirror actions which use hardcoded "mirror"
even when "looking glass" hasn't been discovered yet.  They mentioned
something for C343-118 (#M178, Sep 2005) which was overlooked:  wielded
mirror breaking when used to hit something.
2012-04-21 01:25:47 +00:00
keni
6f1df20db8 Fix PL macro indentation when the entry spans a page break. (Note to anyone
who thinks these should be upgraded to keep an entry on a single page: look
at the footnote code in the original nroff docs, the tmac.n display code,
and then use ev 2 anyway - as long as there are no footnotes on a page with
PL, you might get away with it.)
2012-04-16 15:09:55 +00:00
nethack.rankin
dc76b94185 fixes tweak
Make it clear that this entry is describing the fix rather than the
bug being fixed.
2012-04-16 02:15:08 +00:00
nethack.rankin
084d2ab85d magic mapping fixes
^F on Plane of Water didn't show the magic portal to Astral.  I spent
a lot of time looking at differences between current code and 3.4.3 to figure
out what had changed, then finally tried it on 3.4.3 and discovered that it
didn't work back then either.  ^F marks all floor and ceiling traps as seen
and explicitly maps them, but Water has level.flags.hero_memory clear, making
the mapped trap disappear when it isn't in line of sight.

     When fixing this, I changed magic mapping so that it shows furniture
(stairs, altars, fountains, &c) in preference to traps or objects, and known
traps in preference to objects, so hidden things can be spotted.  (Once
they're in line of sight, the precedence reverses to normal, showing objects
on top of traps on top of floor.)
2012-04-16 02:05:40 +00:00
nethack.rankin
19945b31b0 fix #H2633 - turning to stone or slime while limbless
Michael's fix got here first, but didn't catch the green slime case.
2012-04-16 00:57:37 +00:00
nethack.allison
7d44b04e8c stoning message
From a bug report, 2012:
> This one's easy: the "Your limbs {are stiffening|have turned to stone}" still
> appears as such even when you're polymorphed into a form that has no limbs
> (worms, etc.).
>
> Perhaps it should be "Your extremities[...]" or similar?
2012-04-16 00:37:49 +00:00
nethack.rankin
5fda793c67 more tty extmenu option
Change extcmd_via_menu() so that the code which guards against overflow
when gathering menu entries is always present.  Now only the explanatory
message when overflow is discovered remains conditional upon DEBUG || BETA.
And make MAX_EXT_CMD actually be the maximum number of extended commands
supported by the menu, instead of MAX_EXT_CMD-2 (which was an off-by-one
bug; capacity for MAX_EXT_CMD-1 was available, but the last slot was always
left unused except if/when unchecked overflow occured).
2012-04-15 05:10:22 +00:00
nethack.rankin
2196861cc6 tty extmenu option
When the 'extmenu' boolean was set, typing '#' in wizard mode triggered
a crash.  The total number of extended commands exceeded the capacity of
extcmd_via_menu() and the code it had to check for that was only in effect
if DEBUG was defined.  This boosts the limit from 40 (actally 38) to 50 (48)
and enables the checking code for BETA as well as for DEBUG.

     Almost all of this diff is indentation.
2012-04-14 11:40:04 +00:00
nethack.rankin
4c3939bb76 more #overview changes
Change how overview data is handled if/when you get expelled from
the quest:  mark quest levels as unreachable rather than discarding their
overview data, so that it can be included in end of game disclosure (and
can be revived if you manage to return to your quest branch by invoking
the W quest artifact).

     Order of endgame levels was odd:  earth followed by astral, water,
fire, and air, because the code didn't know how to insert in front of the
first one visited.  Now it does.  Placement of endgame levels was sub-
optimal:  since that has the highest internal dungeon branch number, it
came out last.  Now it is forced to come out first, so that it appears
above the dungeon.  And use "Plane of Earth" for level name rather than
"Plane 1", and so on for the others, when in the endgame.

     Since I'm bumping EDITLEVEL due to adding mapseen.flags.unreachable,
I am also inserting u.uevent.uvibrated now so that it won't trigger another
EDITLEVEL increment.  At the moment it doesn't do anything except get set
when you receive the "you feel strange vibrations <under you>" message.
The level where that occurs will eventually have an automatic annotation
of some sort.
2012-04-14 08:31:05 +00:00
nethack.allison
99a51ab3b2 more windows 32 bit vs 64 bit Makefile fiddling 2012-04-14 00:38:09 +00:00
nethack.allison
49d5079983 British dragon
Sorry, it's been a while and I forgot to use the American spelling.
2012-04-12 23:26:47 +00:00
nethack.allison
c44343d63c floating eye gaze reflecting message
On 12/04/2012 12:44 PM, <Someone> wrote:
> The message displayed was: "The floating eye's gaze is reflected by your
> armor". Although I realize that my silver dragon scale mail is embedded in
> my skin (as per my inventory), I still think that it's now my skin that
> reflects the gaze, not my (temporarily non-existent) armor.
2012-04-12 23:16:09 +00:00
nethack.allison
be2bffcd6d README update
Move untested platforms to the lower section. They can be moved
to the upper section once confirmed tested.
2012-04-10 23:29:25 +00:00
nethack.allison
ac1575e747 no message 2012-04-10 23:05:08 +00:00
nethack.allison
dcab48fac5 Merge fixes34.4 into fixes35.0
This was done using the CVS log listings to preserve
the chronological order that patches were distributed,
rather than just cut and paste from one to the other.

This marks the abandonment of updates for fixes34.4.
2012-04-09 19:39:12 +00:00
nethack.rankin
6218a0eee2 overview disclosure (trunk only)
Add 'o' to "i a v g c" disclosure set, to display final dungeon
overview at end of game.  It lists all levels visited rather than just
those that #overview considers to be interesting, but it doesn't reveal
any undiscovered aspects of those levels except for the presence of bones.
(I think revealing shops and altars and such would be worthwhile, but the
data for that isn't handy at the time.)  If the game ends due to death,
the bones section of the current level will have "you, <reason you died>"
(before any real bones entries for that level).  That occurs before bones
file creation so it doesn't give away whether bones are being saved.

     end.c includes some unrelated lint cleanup.

     Guidebook.{mn,tex} updates the section for autopickup_exceptions as
well as for disclose.  It had some odd looking indentation due to various
explicit paragraph breaks.  I took "experimental" out of its description
since it was moved out of the experimental section of config.h long ago.
The revised Guidebook.tex is untested.
2012-04-09 02:56:37 +00:00
nethack.rankin
921c056efc fix more of #2629 - striking/force bolt feedback (trunk only)
From a bug report, the message "Boing!" is given if wand of striking
or spell of force bolt is aimed at magic resistant hero by self or by
monster, or at magic resistant monster by another monster, but it was
omitted when aimed at magic resistant monster by the hero.  The shield
effect animation for resistance is given in all the cases.
2012-04-07 01:17:23 +00:00
nethack.rankin
e46e3668b3 fix another part of #2629 - destory_mitem of partial stack (trunk only)
From a bug report, if part of a stack in a monster's inventory gets
destroyed (examples given were from Fire Brand burning scrolls or Frost
Brand freezing potions, but other code calls destroy_mitem() too), the
message handled singular vs plural for the desruction part ("catches
fire and burns" vs "catch fire and burn") but always used plural when
formatting the object stack being affected.  Now say "One of <the mon's
foo>" or "Some of <the mon's foo>" as appropriate when part of a stack
is being destroyed.  (destroy_item() for the hero paid more attention
and handled this issue correctly.)
2012-04-06 08:49:27 +00:00
nethack.rankin
b3e131e914 fix part of #2629 - feedback for reverse genocide (trunk only)
From a bug report, if reading a cursed scroll of genocide created only
one monster it would give the plural message "Sent in some <monsters>."
Now it will say "Sent in a(n) <monster>." in such case.  (The grammar is
accurate even if you can't see what happened; that situation is unusual
enough that I'm not going to worry about giving information away.)
2012-04-06 08:35:00 +00:00
nethack.rankin
d3c59c9e84 more dupstr (trunk only) 2012-03-10 02:49:08 +00:00
nethack.rankin
78127038a0 replace core use of strdup() with dupstr() (trunk only) 2012-03-10 02:22:07 +00:00
nethack.allison
a4cb32e786 redeclare n for SYSCF only 2012-02-24 01:01:03 +00:00
nethack.allison
252e005e45 build bit
files.c
../src/files.c(2039) : warning C4101: 'n' : unreferenced local variable
2012-02-22 06:26:04 +00:00
nethack.rankin
e8e62b561e files.c cleanup and/or trashing (trunk only)
I started out changing some bar=strcpy(alloc(strlen(foo)+1),foo)
sequences to bar=dupstr(foo), then decided to try to clean up the lint
From a bug report.  I'm not sure
whether the final result is worth it, and the MICRO configurations need
to test configuration file processing for LEVELS and RAMDISK.  There were
three different sets of conditionals being used for that.

Declaration             Parsing                          Assignment
#if MICRO || WIN32      #if MICRO && !NOCWD_ASSUMPTIONS  #if MICRO && !NOCWD_
 char tmp_levels[]       read LEVELS into tmp_levels     # if MFLOPPY
# if MFLOPPY && !AMIGA  # if MFLOPPY && !AMIGA            handle tmp_levels
 char tmp_ramdisk[]      read RAMDISK into tmp_ramdisk   #  if !AMIGA
# endif                 # endif                           handle tmp_ramdisk
#endif                  #endif                           #  endif x 3

The revised code uses the middle set; the other two are gone.  This means
that MICRO+!MFLOPPY will use LEVELS instead of silently ignoring it, which
might need to be changed.
2012-02-21 04:05:45 +00:00
nethack.rankin
6a9217d568 nerf potion alchemy (trunk only)
Something I've had in mind for a long time:  make it harder to acquire
dozens of potions of full healing and thereby (8 * dozens) of extra hit
points.  When dipping a stack of more than 2 potions into another potion
other than water, first split the stack so that 2 to 9 potions are dipped
rather than all of them.  Alchemy still works but it will take more dips
(hence need more resources) to convert large amounts.  Dipping into water
isn't affected, nor is dipping non-potions.

     Also fix a bug where dipping a stack--now perhaps a subset stack after
splitting--which triggered an explosion was only using up one of the dipped
potions (plus the one being dipped into) instead of the whole stack.
2012-02-19 02:06:43 +00:00
nethack.rankin
ec966362a6 #overview enhancements too (trunk only)
I accidentally left his out of yesterday's commit.
2012-02-16 23:06:00 +00:00
nethack.rankin
b94f26a8c8 some lint bits (trunk only) 2012-02-16 03:01:38 +00:00
nethack.rankin
337e158009 #overview enhancements (trunk only)
1) add graves to the dungeon features being tracked;
2) report on known bones (determined by seeing map spot(s) where previous
   hero(es) died since there's no guarantee of graves or ghosts);
3) add automatic annotations for oracle, sokoban, bigroom, rogue level,
   Ft.Ludios, castle, valley, and Moloch's sanctum.  For bigroom and rogue
   level you just need to visit that level, for the others you need to get
   far enough along to learn something specific (oracle: her room, sokoban:
   annotation is either "solved" or "unsolved" depending upon whether all
   the holes and pits have been filled, fort and castle: see the drawbridge,
   valley and sanctum: see inside the tended temple).  Discovering the
   relevant locations via magic mapping counts as "far enough along".

     There should probably also be automatic annotations for Medusa and the
vibrating square but I'm not sure what criteria should be used for the
former or what phrasing to use for the latter.  Demon lord/prince lairs fall
into similar category as Medusa.

     TODO: add final #overview as an end of game disclosure option.  (I was
planning this even before I saw that nitrohack has implemented it....)
2012-02-16 02:40:24 +00:00
nethack.rankin
6540843cbf oracle bones (trunk only)
Noticed while working on #overview/#annotate revisions, one of which
will key off the oracle's welcome message.  On a bones level, the oracle
could be outside her room, or the room's one time welcome message could be
used up, or both.  During bones creation, discard her if she's on the wrong
level (probably not possible, aside from wizard mode ^G), try to put her
back into her room if she's outside it on the right level, and restore the
room's type (if she's still in it, or has been successfully moved back into
it) so that next hero who loads the bones will get her welcome message the
first time that room is entered.

     Other special rooms could be fixed up too, provided that they're
sufficiently intact (stealthy hero might enter and get the one-time message
then run away and die elsewhere on the level; at present, next hero won't
get the room's entry message) but this doesn't attempt to deal with that.
2012-02-15 01:55:34 +00:00
nethack.rankin
cbfe97cf51 mimicking by pets (trunk only)
I killed a mimic in a shop, then left.  My dog or cat entered that shop
where I could no longer see it, and I got
    You see a tripe ration appear where it was!
when it evidently ate the corpse, without me being able to see any such thing.
This fix is only approximate but I didn't want to figure out all the
permutations of esp or prolonged monster detection or infravision.  (There
probably aren't as many permutations as I first thought since only "ordinary"
pets will take on alternate monster form, so won't ever switch from detectable
via esp to not detectable or vice versa.  Maybe this is good enough.)

     No fixes entry; this is post-3.4.3 code.  There was an early return with
a comment stating that idx==0 was impossible.  I took that out since 0 is not
only possible, it's a valid index into the array of transformations.
2012-02-10 09:29:28 +00:00
nethack.rankin
6ac27851a6 fix #H2591 - sitting while swallowed (trunk only)
From a bug report, sitting while
swallowed gave "you are sitting on air," and the intended message "there are
no seats in here" was never reached.  Move the latter so that it works, and
add a new one when you try to sit while a grabber is holding on to you.

     Also add theft vs donning fixes entry which was left out two days ago.
2012-02-06 04:17:25 +00:00
nethack.rankin
a2f15cfd61 theft vs donning, round 2 (trunk only)
The message "you stop taking off <that armor>" when interrupted by a
nymph's or monkey's theft attack would only be given if you were using 'A'
to take off the armor.  If you used 'T', you'd get "you stop putting on
<that armor>" instead.  The fix for that also makes it easy to vary the
nymph message "<the nymph persuades> you to start taking off" to be "<the
nymph persuades you to continue taking off" when taking that same piece
of armor off was interrupted by the theft.
2012-02-05 04:26:48 +00:00
nethack.rankin
ef888e065a fix #H2589 - theft vs donning/doffing (trunk only)
From a bug report, having some
armor stolen while in the midst of putting on armor--when both items have
a multiple turn completion delay--could result in side-effects for the
latter item being reversed even though they hadn't been applied yet.  So
you'd lose points of Int and Wis when attempting to put on a positively
enchanted helm of brilliance, or gain such with a negatively enchanted one.

     steal() was assigning to afternmv before it had been used to finish the
action of putting on or taking off armor.  Fix by interrupting the attempt
to put on or take off armor when being victimized by theft (or being hit by
succubus or incubus seduction).  The existing stop_occupation() call wasn't
sufficient because afternmv is different from occupation.
2012-02-04 08:13:26 +00:00
nethack.rankin
9b61b368b4 unconsciousness (trunk only)
When testing armor theft by nymph I got a message "you dream that you
hear <something or other>" even though I was awake.  steal() was leaving
nomovemsg null in order to get the default of "you can move again", but
unconscious() was treating null value as 'yes, hero is unconscious'.  I'm
pretty sure its intent was just to guard against passing null to strncmpi()
and didn't really mean that null indicates unconsciousness.
2012-02-04 07:20:23 +00:00
nethack.rankin
a7aaee910e #overview overhaul, part I (trunk only)
Reformat the DUNGEON_OVERVIEW code in dungeon.c.  It's clear from the
way lines were wrapping that the original author used an editor that let
him set tab expansion to columns of four, and when they're treated as the
conventional eight then some longish lines won't fit.  Switch to using a
mix of tabs and four spaces instead of all tab characters.

     I've separated out my more interesting changes (which will come later).
However, there are a bunch of minor ones included:
 1) the lastseentyp array is reused for each level visited, but it wasn't
    being reinitialized when creating a new level, so remembered fountains,
    altars, and so forth could be erroneously propogated across levels
    (the original contributed patch may not have suffered from this because
    it handled last-seen data differently than the code which is in place);
 2) add 3.5.0 health food store to the list of recognized shop types;
 3) make an #annotate value of a single space delete any old annotation
    without adding a new one, the way monster and object naming works;
 4) the code to discard overview data for a branch of the dungeon which
    can no longer be reached (quest expulsion) wasn't capable of doing so
    for the very first level (a hypothetical problem since level 1 isn't in
    the quest...) and didn't free memory used for user-supplied annotations;
 5) reorganize dooverview() where Michael's compiler reported that a
    variable might be used before being initialized (it wasn't, but it also
    wasn't even needed to achieve the intended result);
 6) redo the #overview formatting macros so that they'll work with pre-ANSI
    compilers that don't support concatenation of adjacent string literals;
 7) function-like macro ADDNTOBUF() was used without terminating semi-colon,
    which confused emacs when indenting, so this rewrites it such that it
    expects ordinary termination and will work correctly if ever used in the
    form 'if (some_condition) ADDNTOBUF(args); else ...';
 8) comment out water/ice/lava with #if 0 ... #endif rather than /* ... */.
2012-02-02 10:15:04 +00:00
nethack.rankin
88b88e2ca5 quest pager fix (trunk only)
A priest quest message that was supposed to say "brotherhood" or
"sisterhood" said "itood" instead.  Text "%shood" used the post-3.4.3 'h'
modifier to substitute a pronoun in place of the %s value.  That's only
a valid modifier when it follows %d (deity), %l (leader), %n (nemesis),
or %o (artifact).  Change the substitution routine to leave it as an 'h'
when it follows anything else.  [No fixes entry needed.]
2012-02-02 09:18:14 +00:00
nethack.allison
e701a68175 rolling boulder trap's boulder can be generated in lava
> On 01/30/2012 08:20 PM, <Someone> wrote:
> The boulder from a rolling boulder trap can be generated on a
> lava pool. mkroll_launch() in trap.c, line 1584 checks only for pools
> of water.
2012-02-01 00:49:16 +00:00
nethack.allison
28aace3fd4 x64 command line build cleanup
64-bit linker had a number of warnings that the 32-bit linker did not.
It turned out to be because the 64-bit compiler is more picky about
declaring DLL exports 2-different ways, even if they are essentially
the same. The 32-bit linkder didn't complain. It is described here:
http://support.microsoft.com/kb/835326

The warnings that this suppresses are:

nhdefkey.c
Linking hdefkey.dll
Microsoft (R) Incremental Linker Version 10.00.40219.01
Copyright (C) Microsoft Corporation.  All rights reserved.

nhdefkey.o : warning LNK4197: export 'ProcessKeystroke' specified multiple times; using first specification
nhdefkey.o : warning LNK4197: export 'NHkbhit' specified multiple times; using first specification
nhdefkey.o : warning LNK4197: export 'CheckInput' specified multiple times; using first specification
nhdefkey.o : warning LNK4197: export 'SourceWhere' specified multiple times; using first specification
nhdefkey.o : warning LNK4197: export 'SourceAuthor' specified multiple times; using first specification
nhdefkey.o : warning LNK4197: export 'KeyHandlerName' specified multiple times; using first specification
   Creating library o\nhdefkey.lib and object o\nhdefkey.exp

nh340key.c
Linking h340key.dll
nh340key.o : warning LNK4197: export 'ProcessKeystroke' specified multiple times; using first specification
nh340key.o : warning LNK4197: export 'NHkbhit' specified multiple times; using first specification
nh340key.o : warning LNK4197: export 'CheckInput' specified multiple times; using first specification
nh340key.o : warning LNK4197: export 'SourceWhere' specified multiple times; using first specification
nh340key.o : warning LNK4197: export 'SourceAuthor' specified multiple times; using first specification
nh340key.o : warning LNK4197: export 'KeyHandlerName' specified multiple times; using first specification
   Creating library o\nh340key.lib and object o\nh340key.exp

nhraykey.c
Linking hraykey.dll
nhraykey.o : warning LNK4197: export 'ProcessKeystroke' specified multiple times; using first specification
nhraykey.o : warning LNK4197: export 'CheckInput' specified multiple times; using first specification
nhraykey.o : warning LNK4197: export 'NHkbhit' specified multiple times; using first specification
nhraykey.o : warning LNK4197: export 'SourceWhere' specified multiple times; using first specification
nhraykey.o : warning LNK4197: export 'SourceAuthor' specified multiple times; using first specification
nhraykey.o : warning LNK4197: export 'KeyHandlerName' specified multiple times; using first specification
   Creating library o\nhraykey.lib and object o\nhraykey.exp
2012-01-29 16:50:56 +00:00
nethack.rankin
061d8ec947 strdup/dupstr (trunk only)
Add dupstr() as a substitute for strdup() so that out-of-memory
handling will be consistent with the rest of nethack, and make it aware
of nethack's heap logging.  It's treated like alloc() so that its caller
can be logged for NH_HEAPLOG.

     I put it into use in a few places, but there are lots more candidates
besides the existing calls to strdup() that should be replaced.
2012-01-29 03:00:17 +00:00
nethack.rankin
c76362833a bit logic fix (trunk only)
Fix some expressions that were supposed to use bitwise '&' but were
accidentally using logical '&&', pointed out by Keni's lint tool.  All 3
instances are in post-3.4.3 code, so don't affect the branch and don't
need a fixes entry.
2012-01-29 00:34:33 +00:00
nethack.rankin
7dd8600e17 wizard bones bug (trunk only)
The wizard mode sequence
  load bones? y, unlink bones? y, die, save bones? y
works, but
  load bones? y, unlink bones? n, die, save bones? y, replace old bones? y
fails if/when external compression is in use.  The file gets uncompressed
before being opened to check its existence, then immediately closed, and
re-compressed, changing the file's name, before the deletion attempt takes
place.  Then delete_bonesfile() can't find it via the uncompressed name
and the bones saving code reports "cannot unlink old bones".

     The code involved doesn't seem to have changed since the current cvs
repository was set up, so this bug has gone unnoticed for a long time.
There's no reason this fix shouldn't go into the branch too, other than the
fact that I don't have that checked out on this machine.  If someone wants
to apply it there, be my guest (and move the fixes entry to fixes34.4).
2012-01-28 02:52:14 +00:00
keni
1d219b4e1b SYSCF bits
(This covers some thing that Pat found and some things I found while working
on those.)
Unscramble duplicate use of GREPPATH and GDBPATH symbols.
Add some more info to config.h.
Make missing SYSCF_FILE a fatal error.
Make a parse error in SYSCF_FILE a fatal error.
Rename PANICTRACE_GLIBC (et al) to PANICTRACE_LIBC (et al) since FreeBSD
 and Mac OS X (at least) also implement the needed API.
Allow SYSCF_FILE to be unreadable by the user (for setgid installs).
If SYSCF, do NOT fall back to the compiled in WIZARD account.
Put WIZARD into sysopt and remove special cases in authorize_wizard_mode().
2012-01-27 20:15:31 +00:00
nethack.rankin
a871ad06e9 outrip() updating (trunk only)
Part II of the bones tracking patch.  Change umpteen different outrip()
routines to handle its new time_t argument, and use formatkiller() instead
of directly accessing killer.{format,name} and killed_by_prefix[].  The
latter is now static within formatkiller().

     The many sys/* and win/* changes are untested....
2012-01-24 04:26:33 +00:00
nethack.rankin
9721470635 bones tracking (trunk only)
[See cvs log for include/rm.h or doc/window.doc for more complete description.]

Attach hero info, death reason, and date+time to a level that's being saved
as bones.  Read such data back when loading a bones file, then treat it as
part of that level for the rest of the game.  Dying on a loaded bones file
will chain the new hero+death+date to previous one(s) if new bones get saved.

outrip() now takes an extra argument of type time_t, and interface-specific
implementations of this routine need to be updated to handle that.
2012-01-23 10:45:31 +00:00