diff --git a/doc/fixes35.0 b/doc/fixes35.0 index 486275a31..e3d5965cb 100644 --- a/doc/fixes35.0 +++ b/doc/fixes35.0 @@ -550,6 +550,7 @@ add "about nethack" to '?' menu as an alternate way to view 'v'+'#version' display version and build information at startup repeatedly setting the fruit option will check to see if fruits have been created, so the user can't easily overflow the maximum this way +bones files now include extra data to identify dead hero and reason for death Platform- and/or Interface-Specific New Features diff --git a/doc/window.doc b/doc/window.doc index 1f5544f58..5e4842f08 100644 --- a/doc/window.doc +++ b/doc/window.doc @@ -501,7 +501,7 @@ start_screen() -- Only used on Unix tty ports, but must be declared for end_screen() -- Only used on Unix tty ports, but must be declared for completeness. The complement of start_screen(). -outrip(winid, int) +outrip(winid, int, time_t) -- The tombstone code. If you want the traditional code use genl_outrip for the value and check the #if in rip.c. diff --git a/include/rm.h b/include/rm.h index f32e94557..450843a59 100644 --- a/include/rm.h +++ b/include/rm.h @@ -495,6 +495,18 @@ struct damage { schar typ; }; +/* for bones levels: identify the dead character, who might have died on + an existing bones level; if so, most recent victim will be first in list */ +struct cemetery { + struct cemetery *next; /* next struct is previous dead character... */ + /* "plname" + "-ROLe" + "-RACe" + "-GENder" + "-ALIgnment" + \0 */ + char who[PL_NSIZ + 4*(1+3) + 1]; + /* death reason, same as in score/log file */ + char how[100 + 1]; /* [DTHSZ+1] */ + /* date+time in string of digits rather than binary */ + char when[4+2+2 + 2+2+2 + 1]; /* "YYYYMMDDhhmmss\0" */ +}; + struct levelflags { uchar nfountains; /* number of fountains on level */ uchar nsinks; /* number of sinks on the level */ @@ -520,6 +532,9 @@ struct levelflags { Bitfield(is_maze_lev,1); Bitfield(is_cavernous_lev,1); Bitfield(arboreal, 1); /* Trees replace rock */ + Bitfield(wizard_bones,1); /* set if level came from a bones file + which was created in wizard mode (or + normal mode descendant of such) */ }; typedef struct @@ -538,6 +553,7 @@ typedef struct struct obj *buriedobjlist; struct monst *monlist; struct damage *damagelist; + struct cemetery *bonesinfo; struct levelflags flags; } dlevel_t;