dungeon_overview adjustment

The dungeon_overview bits in the rm structure were being
clobbered by a run-length encoding save/restore because
they weren't taken into consideration.

This patch pulls that data out of the rm structure completely.

It also adjusts the run-length encoding checks to take the
candig bit into consideration and adds a comment to rm.h
reminding people to make run-length encoding adjustments
in save.c for any new bits that get added.
This commit is contained in:
nethack.allison
2009-10-21 03:05:53 +00:00
parent e8ca39ff07
commit 7c05c92eed
10 changed files with 33 additions and 20 deletions

View File

@@ -14,7 +14,7 @@
* Incrementing EDITLEVEL can be used to force invalidation of old bones
* and save files.
*/
#define EDITLEVEL 43
#define EDITLEVEL 44
#define COPYRIGHT_BANNER_A \
"NetHack, Copyright 1985-2009"

View File

@@ -376,6 +376,9 @@ extern struct symsetentry symset[NUM_GRAPHICS]; /* from drawing.c */
* The structure describing a coordinate position.
* Before adding fields, remember that this will significantly affect
* the size of temporary files and save files.
*
* Also remember that the run-length encoding for some ports in save.c
* must be updated to consider the field.
*/
struct rm {
int glyph; /* what the hero thinks is there */
@@ -389,11 +392,6 @@ struct rm {
Bitfield(roomno,6); /* room # for special rooms */
Bitfield(edge,1); /* marks boundaries for special rooms*/
Bitfield(candig,1); /* Exception to Can_dig_down; was a trapdoor */
#ifdef DUNGEON_OVERVIEW
Bitfield(styp, 6); /* last seen/touched dungeon typ */
/* 2 free bits */
#endif /* DUNGEON_OVERVIEW */
};
/*
@@ -541,6 +539,10 @@ typedef struct
}
dlevel_t;
#ifdef DUNGEON_OVERVIEW
extern schar lastseentyp[COLNO][ROWNO]; /* last seen/touched dungeon typ */
#endif /* DUNGEON_OVERVIEW */
extern dlevel_t level; /* structure describing the current level */
/*