Fix: IS_SUBROOM_INDEX range

The macro (currently unused, I think) for checking whether a particular
index designates a subroom was off by one on the maximum allowable
value.

Because of the dedicated extra space for the g.rooms array terminator
flag (hx == -1), subroom indices in g.rooms are set out in the range
[MAXNROFROOMS+1, MAXNROFROOMS*2], inclusive.

Also some minor formatting tweaks.
This commit is contained in:
Michael Meyer
2022-09-28 14:11:05 -07:00
committed by PatR
parent d74791f4a2
commit d1f4e7df85
2 changed files with 7 additions and 6 deletions
+3 -2
View File
@@ -100,8 +100,9 @@ enum roomtype_types {
#define IS_ROOM_PTR(x) ((x) >= g.rooms && (x) < g.rooms + MAXNROFROOMS) #define IS_ROOM_PTR(x) ((x) >= g.rooms && (x) < g.rooms + MAXNROFROOMS)
#define IS_ROOM_INDEX(x) ((x) >= 0 && (x) < MAXNROFROOMS) #define IS_ROOM_INDEX(x) ((x) >= 0 && (x) < MAXNROFROOMS)
#define IS_SUBROOM_PTR(x) ((x) >= g.subrooms && (x) < g.subrooms + MAXNROFROOMS) #define IS_SUBROOM_PTR(x) \
#define IS_SUBROOM_INDEX(x) ((x) > MAXNROFROOMS && (x) < (MAXNROFROOMS * 2)) ((x) >= g.subrooms && (x) < g.subrooms + MAXNROFROOMS)
#define IS_SUBROOM_INDEX(x) ((x) > MAXNROFROOMS && (x) <= (MAXNROFROOMS * 2))
#define ROOM_INDEX(x) ((x) - g.rooms) #define ROOM_INDEX(x) ((x) - g.rooms)
#define SUBROOM_INDEX(x) ((x) - g.subrooms) #define SUBROOM_INDEX(x) ((x) - g.subrooms)
#define IS_LAST_ROOM_PTR(x) (ROOM_INDEX(x) == g.nroom) #define IS_LAST_ROOM_PTR(x) (ROOM_INDEX(x) == g.nroom)