#include "store.h"
#include "trap.h"
#include "monster.h"
+#include "feature.h"
/*
* This function creates a random vault that looks like a collection of bubbles.
int side_x = x0 - xhsize + i;
place_outer_noperm_bold(y0 - yhsize + 0, side_x);
- cave[y0 - yhsize + 0][side_x].info |= (CAVE_ROOM | CAVE_ICKY);
+ grid_array[y0 - yhsize + 0][side_x].info |= (CAVE_ROOM | CAVE_ICKY);
place_outer_noperm_bold(y0 - yhsize + ysize - 1, side_x);
- cave[y0 - yhsize + ysize - 1][side_x].info |= (CAVE_ROOM | CAVE_ICKY);
+ grid_array[y0 - yhsize + ysize - 1][side_x].info |= (CAVE_ROOM | CAVE_ICKY);
}
/* Left and right boundaries */
int side_y = y0 - yhsize + i;
place_outer_noperm_bold(side_y, x0 - xhsize + 0);
- cave[side_y][x0 - xhsize + 0].info |= (CAVE_ROOM | CAVE_ICKY);
+ grid_array[side_y][x0 - xhsize + 0].info |= (CAVE_ROOM | CAVE_ICKY);
place_outer_noperm_bold(side_y, x0 - xhsize + xsize - 1);
- cave[side_y][x0 - xhsize + xsize - 1].info |= (CAVE_ROOM | CAVE_ICKY);
+ grid_array[side_y][x0 - xhsize + xsize - 1].info |= (CAVE_ROOM | CAVE_ICKY);
}
/* Fill in middle with bubbles */
}
/* clean up rest of flags */
- cave[y0 - yhsize + y][x0 - xhsize + x].info |= (CAVE_ROOM | CAVE_ICKY);
+ grid_array[y0 - yhsize + y][x0 - xhsize + x].info |= (CAVE_ROOM | CAVE_ICKY);
}
}
POSITION y = y0 - yhsize + y1;
place_extra_bold(y, x);
- cave[y][x].info &= (~CAVE_ICKY);
+ grid_array[y][x].info &= (~CAVE_ICKY);
}
}
}
-/* Create a random vault out of a fractal cave */
+/* Create a random vault out of a fractal grid_array */
static void build_cave_vault(POSITION x0, POSITION y0, POSITION xsiz, POSITION ysiz)
{
int grd, roug, cutoff;
{
for (y = 0; y <= ysize; y++)
{
- cave[y0 - yhsize + y][x0 - xhsize + x].info |= CAVE_ICKY;
+ grid_array[y0 - yhsize + y][x0 - xhsize + x].info |= CAVE_ICKY;
}
}
{
POSITION dx, dy, x, y, i, j;
concptr t;
- grid_type *c_ptr;
+ grid_type *g_ptr;
/* Place dungeon features and objects */
for (t = data, dy = 0; dy < ymax; dy++)
/* Hack -- skip "non-grids" */
if (*t == ' ') continue;
- c_ptr = &cave[y][x];
+ g_ptr = &grid_array[y][x];
/* Lay down a floor */
- place_floor_grid(c_ptr);
+ place_floor_grid(g_ptr);
/* Remove any mimic */
- c_ptr->mimic = 0;
+ g_ptr->mimic = 0;
/* Part of a vault */
- c_ptr->info |= (CAVE_ROOM | CAVE_ICKY);
+ g_ptr->info |= (CAVE_ROOM | CAVE_ICKY);
/* Analyze the grid */
switch (*t)
{
/* Granite wall (outer) */
case '%':
- place_outer_noperm_grid(c_ptr);
+ place_outer_noperm_grid(g_ptr);
break;
/* Granite wall (inner) */
case '#':
- place_inner_grid(c_ptr);
+ place_inner_grid(g_ptr);
break;
/* Glass wall (inner) */
case '$':
- place_inner_grid(c_ptr);
- c_ptr->feat = feat_glass_wall;
+ place_inner_grid(g_ptr);
+ g_ptr->feat = feat_glass_wall;
break;
/* Permanent wall (inner) */
case 'X':
- place_inner_perm_grid(c_ptr);
+ place_inner_perm_grid(g_ptr);
break;
/* Permanent glass wall (inner) */
case 'Y':
- place_inner_perm_grid(c_ptr);
- c_ptr->feat = feat_permanent_glass_wall;
+ place_inner_perm_grid(g_ptr);
+ g_ptr->feat = feat_permanent_glass_wall;
break;
/* Treasure/trap */
/* Tree */
case ':':
- c_ptr->feat = feat_tree;
+ g_ptr->feat = feat_tree;
break;
/* Secret doors */
/* Secret glass doors */
case '-':
place_secret_door(y, x, DOOR_GLASS_DOOR);
- if (is_closed_door(c_ptr->feat)) c_ptr->mimic = feat_glass_wall;
+ if (is_closed_door(g_ptr->feat)) g_ptr->mimic = feat_glass_wall;
break;
/* Curtains */
for (y = y0 - rad; y <= y0 + rad; y++)
{
/* clear room flag */
- cave[y][x].info &= ~(CAVE_ROOM);
+ grid_array[y][x].info &= ~(CAVE_ROOM);
/* Vault - so is "icky" */
- cave[y][x].info |= CAVE_ICKY;
+ grid_array[y][x].info |= CAVE_ICKY;
if (dist2(y0, x0, y, x, h1, h2, h3, h4) <= rad - 1)
{
{
for (y = 0; y <= ysize; y++)
{
- cave[y0 - yhsize + y][x0 - xhsize + x].info |= CAVE_ICKY;
+ grid_array[y0 - yhsize + y][x0 - xhsize + x].info |= CAVE_ICKY;
}
}
{
if (!in_bounds(y1 - 2, x)) break;
- cave[y1 - 2][x].info |= (CAVE_ROOM | CAVE_ICKY);
+ grid_array[y1 - 2][x].info |= (CAVE_ROOM | CAVE_ICKY);
place_outer_noperm_bold(y1 - 2, x);
}
{
if (!in_bounds(y2 + 2, x)) break;
- cave[y2 + 2][x].info |= (CAVE_ROOM | CAVE_ICKY);
+ grid_array[y2 + 2][x].info |= (CAVE_ROOM | CAVE_ICKY);
place_outer_noperm_bold(y2 + 2, x);
}
{
if (!in_bounds(y, x1 - 2)) break;
- cave[y][x1 - 2].info |= (CAVE_ROOM | CAVE_ICKY);
+ grid_array[y][x1 - 2].info |= (CAVE_ROOM | CAVE_ICKY);
place_outer_noperm_bold(y, x1 - 2);
}
{
if (!in_bounds(y, x2 + 2)) break;
- cave[y][x2 + 2].info |= (CAVE_ROOM | CAVE_ICKY);
+ grid_array[y][x2 + 2].info |= (CAVE_ROOM | CAVE_ICKY);
place_outer_noperm_bold(y, x2 + 2);
}
{
for (x = x1 - 1; x <= x2 + 1; x++)
{
- grid_type *c_ptr = &cave[y][x];
+ grid_type *g_ptr = &grid_array[y][x];
- c_ptr->info |= (CAVE_ROOM | CAVE_ICKY);
+ g_ptr->info |= (CAVE_ROOM | CAVE_ICKY);
/* Permanent walls */
- place_inner_perm_grid(c_ptr);
+ place_inner_perm_grid(g_ptr);
}
}
{
for (x = x1 - 1; x <= x2 + 1; x++)
{
- cave[y][x].info |= (CAVE_ROOM | CAVE_ICKY);
+ grid_array[y][x].info |= (CAVE_ROOM | CAVE_ICKY);
/* Make everything a floor */
place_floor_bold(y, x);
}