'struct former' -> 'struct ebones'
Some variants were already using a similar approach using a struct called 'ebones', so adopt the same naming so NetHack-3.7, hardfought, and some variants are using the same name. As before there are fields in the struct that are not currently used by NetHack-3.7, but the intent is that hardfought save and bones files can be loaded by NetHack-3.7 without code modification, for debugging bug reports. This invalidates existing save and bones files.
This commit is contained in:
@@ -182,16 +182,20 @@ struct edog {
|
||||
Bitfield(killed_by_u, 1); /* you attempted to kill him */
|
||||
};
|
||||
|
||||
/* for saving the hero's rank in bones monster */
|
||||
struct mon_former_rank {
|
||||
int lev;
|
||||
short mnum;
|
||||
boolean female;
|
||||
};
|
||||
|
||||
struct former_incarnation {
|
||||
unsigned parentmid; /* make clobber-detection possible */
|
||||
struct mon_former_rank rank; /* for bones' ghost rank in former life */
|
||||
/***
|
||||
** extension tracking a player's remnant monster (ghost, mummy etc.)
|
||||
*/
|
||||
struct ebones {
|
||||
unsigned parentmid; /* make clobber-detection possible */
|
||||
uchar role; /* index into roles[] */
|
||||
uchar race; /* index into races[] */
|
||||
align oldalign; /* character alignment */
|
||||
uchar deathlevel; /* level when dying (m_lev may differ) */
|
||||
schar luck; /* luck when dying */
|
||||
short mnum; /* monster type */
|
||||
Bitfield(female, 1); /* was female */
|
||||
Bitfield(demigod, 1); /* had killed wiz or invoked */
|
||||
Bitfield(crowned, 1); /* had been crowned */
|
||||
};
|
||||
|
||||
/***
|
||||
@@ -204,7 +208,7 @@ struct mextra {
|
||||
struct eshk *eshk;
|
||||
struct emin *emin;
|
||||
struct edog *edog;
|
||||
struct former_incarnation *former;
|
||||
struct ebones *ebones;
|
||||
int mcorpsenm; /* obj->corpsenm for mimic posing as statue or corpse,
|
||||
* obj->spe (fruit index) for one posing as a slime mold,
|
||||
* or an alignment mask for one posing as an altar */
|
||||
@@ -216,7 +220,7 @@ struct mextra {
|
||||
#define ESHK(mon) ((mon)->mextra->eshk)
|
||||
#define EMIN(mon) ((mon)->mextra->emin)
|
||||
#define EDOG(mon) ((mon)->mextra->edog)
|
||||
#define FORMER(mon) ((mon)->mextra->former)
|
||||
#define EBONES(mon) ((mon)->mextra->ebones)
|
||||
#define MCORPSENM(mon) ((mon)->mextra->mcorpsenm)
|
||||
|
||||
#define has_mgivenname(mon) ((mon)->mextra && MGIVENNAME(mon))
|
||||
@@ -225,7 +229,7 @@ struct mextra {
|
||||
#define has_eshk(mon) ((mon)->mextra && ESHK(mon))
|
||||
#define has_emin(mon) ((mon)->mextra && EMIN(mon))
|
||||
#define has_edog(mon) ((mon)->mextra && EDOG(mon))
|
||||
#define has_former(mon) ((mon)->mextra && FORMER(mon))
|
||||
#define has_ebones(mon) ((mon)->mextra && EBONES(mon))
|
||||
#define has_mcorpsenm(mon) ((mon)->mextra && MCORPSENM(mon) != NON_PM)
|
||||
|
||||
#endif /* MEXTRA_H */
|
||||
|
||||
Reference in New Issue
Block a user