mkroom.h update

Give room type enums explicit values so that it is easier to find
them when searching by value rather than by name.

Also some reformatting.
This commit is contained in:
PatR
2019-06-18 02:43:41 -07:00
parent 7e1f020846
commit c9962c9d34

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 mkroom.h $NHDT-Date: 1432512780 2015/05/25 00:13:00 $ $NHDT-Branch: master $:$NHDT-Revision: 1.13 $ */
/* NetHack 3.6 mkroom.h $NHDT-Date: 1560851014 2019/06/18 09:43:34 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.16 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Pasi Kallinen, 2016. */
/* NetHack may be freely redistributed. See license for details. */
@@ -32,8 +32,8 @@ struct shclass {
#define D_SHOP 1 /* shop-like placement */
#define D_TEMPLE 2 /* temple-like placement */
struct itp {
int iprob; /* probability of an item type */
int itype; /* item type: if >=0 a class, if < 0 a specific item */
int iprob; /* probability of an item type */
int itype; /* item type: if >=0 a class, if < 0 a specific item */
} iprobs[6];
const char *const *shknms; /* list of shopkeeper names for this type */
};
@@ -53,31 +53,31 @@ extern NEARDATA coord doors[DOORMAX];
/* values for rtype in the room definition structure */
enum roomtype_types {
OROOM = 0, /* ordinary room */
COURT = 2, /* contains a throne */
SWAMP, /* contains pools */
VAULT, /* contains piles of gold */
BEEHIVE, /* contains killer bees and royal jelly */
MORGUE, /* contains corpses, undead and ghosts */
BARRACKS, /* contains soldiers and their gear */
ZOO, /* floor covered with treasure and monsters */
DELPHI, /* contains Oracle and peripherals */
TEMPLE, /* contains a shrine */
LEPREHALL, /* leprechaun hall (Tom Proudfoot) */
COCKNEST, /* cockatrice nest (Tom Proudfoot) */
ANTHOLE, /* ants (Tom Proudfoot) */
SHOPBASE, /* everything above this is a shop */
ARMORSHOP, /* specific shop defines for level compiler */
SCROLLSHOP,
POTIONSHOP,
WEAPONSHOP,
FOODSHOP,
RINGSHOP,
WANDSHOP,
TOOLSHOP,
BOOKSHOP,
FODDERSHOP, /* health food store */
CANDLESHOP
OROOM = 0, /* ordinary room */
COURT = 2, /* contains a throne */
SWAMP = 3, /* contains pools */
VAULT = 4, /* detached room usually reached via teleport trap */
BEEHIVE = 5, /* contains killer bees and royal jelly */
MORGUE = 6, /* contains corpses, undead and graves */
BARRACKS = 7, /* contains soldiers and their gear */
ZOO = 8, /* floor covered with treasure and monsters */
DELPHI = 9, /* contains Oracle and peripherals */
TEMPLE = 10, /* contains a shrine (altar attended by priest[ess]) */
LEPREHALL = 11, /* leprechaun hall (Tom Proudfoot) */
COCKNEST = 12, /* cockatrice nest (Tom Proudfoot) */
ANTHOLE = 13, /* ants (Tom Proudfoot) */
SHOPBASE = 14, /* everything above this is a shop */
ARMORSHOP = 15, /* specific shop defines for level compiler */
SCROLLSHOP = 16,
POTIONSHOP = 17,
WEAPONSHOP = 18,
FOODSHOP = 19,
RINGSHOP = 20,
WANDSHOP = 21,
TOOLSHOP = 22,
BOOKSHOP = 23,
FODDERSHOP = 24, /* health food store */
CANDLESHOP = 25
};
#define MAXRTYPE (CANDLESHOP) /* maximum valid room type */
@@ -87,25 +87,19 @@ enum roomtype_types {
#define ANY_TYPE (-1)
#define ANY_SHOP (-2)
#define NO_ROOM 0 /* indicates lack of room-occupancy */
#define SHARED 1 /* indicates normal shared boundary */
#define SHARED_PLUS \
2 /* indicates shared boundary - extra adjacent- \
* square searching required */
#define NO_ROOM 0 /* indicates lack of room-occupancy */
#define SHARED 1 /* indicates normal shared boundary */
#define SHARED_PLUS 2 /* indicates shared boundary - extra adjacent-square
* searching required */
#define ROOMOFFSET 3 /* (levl[x][y].roomno - ROOMOFFSET) gives rooms[] index,
* for inside-squares and non-shared boundaries */
#define ROOMOFFSET \
3 /* \
* (levl[x][y].roomno - ROOMOFFSET) gives \
* rooms[] index, for inside-squares and \
* non-shared boundaries. \
*/
#define IS_ROOM_PTR(x) ((x) >= rooms && (x) < rooms + MAXNROFROOMS)
#define IS_ROOM_INDEX(x) ((x) >= 0 && (x) < MAXNROFROOMS)
#define IS_SUBROOM_PTR(x) ((x) >= subrooms && (x) < subrooms + MAXNROFROOMS)
#define IS_ROOM_PTR(x) ((x) >= rooms && (x) < rooms + MAXNROFROOMS)
#define IS_ROOM_INDEX(x) ((x) >= 0 && (x) < MAXNROFROOMS)
#define IS_SUBROOM_PTR(x) ((x) >= subrooms && (x) < subrooms + MAXNROFROOMS)
#define IS_SUBROOM_INDEX(x) ((x) > MAXNROFROOMS && (x) < (MAXNROFROOMS * 2))
#define ROOM_INDEX(x) ((x) -rooms)
#define SUBROOM_INDEX(x) ((x) -subrooms)
#define ROOM_INDEX(x) ((x) -rooms)
#define SUBROOM_INDEX(x) ((x) -subrooms)
#define IS_LAST_ROOM_PTR(x) (ROOM_INDEX(x) == nroom)
#define IS_LAST_SUBROOM_PTR(x) (!nsubroom || SUBROOM_INDEX(x) == nsubroom)