bool old_is_floor, new_is_floor;
- /* Initialize */
count = 0;
old_is_floor = get_is_floor(x1 - 1, y1);
struct fill_data_type
{
/* area size */
- int xmin;
- int ymin;
- int xmax;
- int ymax;
+ POSITION xmin;
+ POSITION ymin;
+ POSITION xmax;
+ POSITION ymax;
/* cutoffs */
int c1;
int c3;
/* features to fill with */
- int feat1;
- int feat2;
- int feat3;
+ FEAT_IDX feat1;
+ FEAT_IDX feat2;
+ FEAT_IDX feat3;
int info1;
int info2;
/* Store routine for the fractal cave generator */
/* this routine probably should be an inline function or a macro. */
-static void store_height(int x, int y, int val)
+static void store_height(POSITION x, POSITION y, int val)
{
/* if on boundary set val > cutoff so walls are not as square */
if (((x == fill_data.xmin) || (y == fill_data.ymin) ||
}
-static bool hack_isnt_wall(int y, int x, int c1, int c2, int c3, int feat1, int feat2, int feat3, int info1, int info2, int info3)
+static bool hack_isnt_wall(POSITION y, POSITION x, int c1, int c2, int c3, int feat1, int feat2, int feat3, int info1, int info2, int info3)
{
/*
* function used to convert from height-map back to the
}
/*
- * XXX XXX XXX There is a slight problem when tunnels pierce the caves:
+ * There is a slight problem when tunnels pierce the caves:
* Extra doors appear inside the system. (Its not very noticeable though.)
* This can be removed by "filling" from the outside in. This allows a separation
* from _outer_ with _inner_. (Internal walls are _outer_ instead.)
}
}
-bool generate_lake(int y0, int x0, int xsize, int ysize, int c1, int c2, int c3, int type)
+bool generate_lake(POSITION y0, POSITION x0, POSITION xsize, POSITION ysize, int c1, int c2, int c3, int type)
{
- int x, y, i, xhsize, yhsize;
- int feat1, feat2, feat3;
+ POSITION x, y, xhsize, yhsize;
+ int i;
+ FEAT_IDX feat1, feat2, feat3;
/* offsets to middle from corner */
xhsize = xsize / 2;
/*
* Routine that fills the empty areas of a room with treasure and monsters.
*/
-void fill_treasure(int x1, int x2, int y1, int y2, int difficulty)
+void fill_treasure(POSITION x1, POSITION x2, POSITION y1, POSITION y2, int difficulty)
{
- int x, y, cx, cy, size;
+ POSITION x, y, cx, cy, size;
s32b value;
/* center of room:*/
* The area inside the walls is not touched:
* only granite is removed- normal walls stay
*/
-void build_room(int x1, int x2, int y1, int y2)
+void build_room(POSITION x1, POSITION x2, POSITION y1, POSITION y2)
{
- int x, y, i, xsize, ysize, temp;
+ POSITION x, y, xsize, ysize;
+ int i, temp;
/* Check if rectangle has no width */
if ((x1 == x2) || (y1 == y2)) return;
- /* initialize */
if (x1 > x2)
{
/* Swap boundaries if in wrong order */
* is the randint0(3) below; it governs the relative density of
* twists and turns in the labyrinth: smaller number, more twists.
*/
-void r_visit(int y1, int x1, int y2, int x2, int node, int dir, int *visited)
+void r_visit(POSITION y1, POSITION x1, POSITION y2, POSITION x2, int node, DIRECTION dir, int *visited)
{
int i, j, m, n, temp, x, y, adj[4];
* The power variable is a measure of how well defended a region is.
* This alters the possible choices.
*/
-void build_recursive_room(int x1, int y1, int x2, int y2, int power)
+void build_recursive_room(POSITION x1, POSITION y1, POSITION x2, POSITION y2, int power)
{
- int xsize, ysize;
- int x, y;
+ POSITION xsize, ysize;
+ POSITION x, y;
int choice;
/* Temp variables */
* Note: no range checking is done so must be inside dungeon
* This routine also stomps on doors
*/
-void add_outer_wall(int x, int y, int light, int x1, int y1, int x2, int y2)
+void add_outer_wall(POSITION x, POSITION y, int light, POSITION x1, POSITION y1, POSITION x2, POSITION y2)
{
cave_type *c_ptr;
feature_type *f_ptr;
* Hacked distance formula - gives the 'wrong' answer.
* Used to build crypts
*/
-int dist2(int x1, int y1, int x2, int y2, int h1, int h2, int h3, int h4)
+POSITION dist2(POSITION x1, POSITION y1, POSITION x2, POSITION y2, POSITION h1, POSITION h2, POSITION h3, POSITION h4)
{
- int dx, dy;
+ POSITION dx, dy;
dx = abs(x2 - x1);
dy = abs(y2 - y1);
/* Create a new floor room with optional light */
-void generate_room_floor(int y1, int x1, int y2, int x2, int light)
+void generate_room_floor(POSITION y1, POSITION x1, POSITION y2, POSITION x2, int light)
{
- int y, x;
+ POSITION y, x;
cave_type *c_ptr;
}
}
-void generate_fill_perm_bold(int y1, int x1, int y2, int x2)
+void generate_fill_perm_bold(POSITION y1, POSITION x1, POSITION y2, POSITION x2)
{
- int y, x;
+ POSITION y, x;
for (y = y1; y <= y2; y++)
{
* @note that we restrict the number of "crowded" rooms to reduce the chance of overflowing the monster list during level creation.
* @return 部屋の精製に成功した場合 TRUE を返す。
*/
-static bool room_build(int typ)
+static bool room_build(EFFECT_ID typ)
{
/* Build a room */
switch (typ)