skip calling somexyspace() if mkroom ptr is NULL
This commit is contained in:
+1
-1
@@ -1510,7 +1510,7 @@ extern void place_branch(branch *, coordxy, coordxy) NO_NONNULLS;
|
|||||||
extern boolean occupied(coordxy, coordxy);
|
extern boolean occupied(coordxy, coordxy);
|
||||||
extern int okdoor(coordxy, coordxy);
|
extern int okdoor(coordxy, coordxy);
|
||||||
extern void dodoor(coordxy, coordxy, struct mkroom *) NONNULLARG3;
|
extern void dodoor(coordxy, coordxy, struct mkroom *) NONNULLARG3;
|
||||||
extern void mktrap(int, int, struct mkroom *, coord *);
|
extern void mktrap(int, int, struct mkroom *, coord *) NO_NONNULLS;
|
||||||
extern void mkstairs(coordxy, coordxy, char, struct mkroom *, boolean);
|
extern void mkstairs(coordxy, coordxy, char, struct mkroom *, boolean);
|
||||||
extern void mkinvokearea(void);
|
extern void mkinvokearea(void);
|
||||||
extern void mineralize(int, int, int, int, boolean);
|
extern void mineralize(int, int, int, int, boolean);
|
||||||
|
|||||||
+5
-5
@@ -14,7 +14,7 @@ static boolean generate_stairs_room_good(struct mkroom *, int);
|
|||||||
static struct mkroom *generate_stairs_find_room(void);
|
static struct mkroom *generate_stairs_find_room(void);
|
||||||
static void generate_stairs(void);
|
static void generate_stairs(void);
|
||||||
static void mkfount(struct mkroom *);
|
static void mkfount(struct mkroom *);
|
||||||
static boolean find_okay_roompos(struct mkroom *, coord *);
|
static boolean find_okay_roompos(struct mkroom *, coord *) NONNULLARG12;
|
||||||
static void mksink(struct mkroom *);
|
static void mksink(struct mkroom *);
|
||||||
static void mkaltar(struct mkroom *);
|
static void mkaltar(struct mkroom *);
|
||||||
static void mkgrave(struct mkroom *);
|
static void mkgrave(struct mkroom *);
|
||||||
@@ -24,7 +24,7 @@ static void fill_ordinary_room(struct mkroom *, boolean);
|
|||||||
static void makelevel(void);
|
static void makelevel(void);
|
||||||
static boolean bydoor(coordxy, coordxy);
|
static boolean bydoor(coordxy, coordxy);
|
||||||
static void mktrap_victim(struct trap *);
|
static void mktrap_victim(struct trap *);
|
||||||
static struct mkroom *find_branch_room(coord *);
|
static struct mkroom *find_branch_room(coord *) NONNULLARG1;
|
||||||
static struct mkroom *pos_to_room(coordxy, coordxy);
|
static struct mkroom *pos_to_room(coordxy, coordxy);
|
||||||
static boolean cardinal_nextto_room(struct mkroom *, coordxy, coordxy);
|
static boolean cardinal_nextto_room(struct mkroom *, coordxy, coordxy);
|
||||||
static boolean place_niche(struct mkroom *, int *, coordxy *, coordxy *);
|
static boolean place_niche(struct mkroom *, int *, coordxy *, coordxy *);
|
||||||
@@ -1456,7 +1456,7 @@ find_branch_room(coord *mp)
|
|||||||
} else {
|
} else {
|
||||||
croom = generate_stairs_find_room();
|
croom = generate_stairs_find_room();
|
||||||
|
|
||||||
if (!somexyspace(croom, mp))
|
if (croom && !somexyspace(croom, mp))
|
||||||
impossible("Can't place branch!");
|
impossible("Can't place branch!");
|
||||||
}
|
}
|
||||||
return croom;
|
return croom;
|
||||||
@@ -1722,7 +1722,7 @@ mktrap(
|
|||||||
register int kind;
|
register int kind;
|
||||||
struct trap *t;
|
struct trap *t;
|
||||||
unsigned lvl = level_difficulty();
|
unsigned lvl = level_difficulty();
|
||||||
coord m;
|
coord m = { 0, 0 };
|
||||||
|
|
||||||
/* no traps in pools */
|
/* no traps in pools */
|
||||||
if (tm && is_pool(tm->x, tm->y))
|
if (tm && is_pool(tm->x, tm->y))
|
||||||
@@ -1832,7 +1832,7 @@ mktrap(
|
|||||||
return;
|
return;
|
||||||
if (mktrapflags & MKTRAP_MAZEFLAG)
|
if (mktrapflags & MKTRAP_MAZEFLAG)
|
||||||
mazexy(&m);
|
mazexy(&m);
|
||||||
else if (!somexyspace(croom, &m))
|
else if (croom && !somexyspace(croom, &m))
|
||||||
return;
|
return;
|
||||||
} while (occupied(m.x, m.y)
|
} while (occupied(m.x, m.y)
|
||||||
|| (avoid_boulder && sobj_at(BOULDER, m.x, m.y)));
|
|| (avoid_boulder && sobj_at(BOULDER, m.x, m.y)));
|
||||||
|
|||||||
+1
-1
@@ -682,7 +682,7 @@ inside_room(struct mkroom* croom, coordxy x, coordxy y)
|
|||||||
can return a non-accessible location, eg. inside a wall
|
can return a non-accessible location, eg. inside a wall
|
||||||
if a themed room is not irregular, but has some non-room terrain */
|
if a themed room is not irregular, but has some non-room terrain */
|
||||||
boolean
|
boolean
|
||||||
somexy(struct mkroom* croom,coord * c)
|
somexy(struct mkroom *croom,coord *c)
|
||||||
{
|
{
|
||||||
int try_cnt = 0;
|
int try_cnt = 0;
|
||||||
int i;
|
int i;
|
||||||
|
|||||||
Reference in New Issue
Block a user