Unify random light state for rooms or level
This commit is contained in:
@@ -1301,6 +1301,7 @@ E void FDECL(mineralize, (int, int, int, int, BOOLEAN_P));
|
||||
|
||||
E void FDECL(flood_fill_rm, (int, int, int, BOOLEAN_P, BOOLEAN_P));
|
||||
E void FDECL(remove_rooms, (int, int, int, int));
|
||||
E boolean FDECL(litstate_rnd, (int));
|
||||
/* E void FDECL(mkmap, (lev_init *)); -- need sp_lev.h for lev_init */
|
||||
|
||||
/* ### mkmaze.c ### */
|
||||
|
||||
12
src/mkmap.c
12
src/mkmap.c
@@ -446,6 +446,15 @@ unsigned roomno;
|
||||
#define N_P2_ITER 1 /* tune map generation via this value */
|
||||
#define N_P3_ITER 2 /* tune map smoothing via this value */
|
||||
|
||||
boolean
|
||||
litstate_rnd(litstate)
|
||||
int litstate;
|
||||
{
|
||||
if (litstate < 0)
|
||||
return (rnd(1 + abs(depth(&u.uz))) < 11 && rn2(77)) ? TRUE : FALSE;
|
||||
return (boolean) litstate;
|
||||
}
|
||||
|
||||
void
|
||||
mkmap(init_lev)
|
||||
lev_init *init_lev;
|
||||
@@ -455,8 +464,7 @@ lev_init *init_lev;
|
||||
xchar lit = init_lev->lit, walled = init_lev->walled;
|
||||
int i;
|
||||
|
||||
if (lit < 0)
|
||||
lit = (rnd(1 + abs(depth(&u.uz))) < 11 && rn2(77)) ? 1 : 0;
|
||||
lit = litstate_rnd(lit);
|
||||
|
||||
g.new_locations = (char *) alloc((WIDTH + 1) * HEIGHT);
|
||||
|
||||
|
||||
@@ -705,8 +705,7 @@ xchar rtype, rlit;
|
||||
/* some other rooms may require lighting */
|
||||
|
||||
/* is light state random ? */
|
||||
if (rlit == -1)
|
||||
rlit = (rnd(1 + abs(depth(&u.uz))) < 11 && rn2(77)) ? TRUE : FALSE;
|
||||
rlit = litstate_rnd(rlit);
|
||||
|
||||
/*
|
||||
* Here we will try to create a room. If some parameters are
|
||||
@@ -886,8 +885,7 @@ xchar rtype, rlit;
|
||||
y++;
|
||||
if (rtype == -1)
|
||||
rtype = OROOM;
|
||||
if (rlit == -1)
|
||||
rlit = (rnd(1 + abs(depth(&u.uz))) < 11 && rn2(77)) ? TRUE : FALSE;
|
||||
rlit = litstate_rnd(rlit);
|
||||
add_subroom(proom, proom->lx + x, proom->ly + y, proom->lx + x + w - 1,
|
||||
proom->ly + y + h - 1, rlit, rtype, FALSE);
|
||||
return TRUE;
|
||||
@@ -4827,8 +4825,7 @@ lua_State *L;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (rlit < 0)
|
||||
rlit = (rnd(1 + abs(depth(&u.uz))) < 11 && rn2(77)) ? TRUE : FALSE;
|
||||
rlit = litstate_rnd(rlit);
|
||||
|
||||
get_location(&dx1, &dy1, ANY_LOC, (struct mkroom *) 0);
|
||||
get_location(&dx2, &dy2, ANY_LOC, (struct mkroom *) 0);
|
||||
|
||||
Reference in New Issue
Block a user