OSDN Git Service

[Refactor] #38997 is_outer_bold() に floor_type * 引数を追加. / Add floor_type * argument...
authordeskull <deskull@users.sourceforge.jp>
Sat, 21 Sep 2019 04:04:44 +0000 (13:04 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Sat, 21 Sep 2019 04:04:44 +0000 (13:04 +0900)
src/floor-generate.c
src/grid.c
src/grid.h
src/rooms.c

index c7eb758..162b154 100644 (file)
@@ -1622,7 +1622,7 @@ bool build_tunnel(POSITION row1, POSITION col1, POSITION row2, POSITION col2)
                        x = tmp_col + col_dir;
 
                        /* Hack -- Avoid outer/solid walls */
-                       if (is_outer_bold(y, x)) continue;
+                       if (is_outer_bold(p_ptr->current_floor_ptr, y, x)) continue;
                        if (is_solid_bold(y, x)) continue;
 
                        /* Accept this location */
@@ -1644,7 +1644,7 @@ bool build_tunnel(POSITION row1, POSITION col1, POSITION row2, POSITION col2)
                                for (x = col1 - 1; x <= col1 + 1; x++)
                                {
                                        /* Convert adjacent "outer" walls as "solid" walls */
-                                       if (is_outer_bold(y, x))
+                                       if (is_outer_bold(p_ptr->current_floor_ptr, y, x))
                                        {
                                                /* Change the wall to a "solid" wall */
                                                place_solid_noperm_bold(y, x);
@@ -1793,7 +1793,7 @@ static bool set_tunnel(POSITION *x, POSITION *y, bool affectwall)
                        for (i = *x - 1; i <= *x + 1; i++)
                        {
                                /* Convert adjacent "outer" walls as "solid" walls */
-                               if (is_outer_bold(j, i))
+                               if (is_outer_bold(p_ptr->current_floor_ptr, j, i))
                                {
                                        /* Change the wall to a "solid" wall */
                                        place_solid_noperm_bold(j, i);
index 0d3cc6e..7efd4e5 100644 (file)
@@ -491,7 +491,7 @@ void place_secret_door(POSITION y, POSITION x, int type)
 void add_door(POSITION x, POSITION y)
 {
        /* Need to have a wall in the center square */
-       if (!is_outer_bold(y, x)) return;
+       if (!is_outer_bold(p_ptr->current_floor_ptr, y, x)) return;
 
        /* look at:
        *  x#x
@@ -503,7 +503,7 @@ void add_door(POSITION x, POSITION y)
        */
 
        if (is_floor_bold(p_ptr->current_floor_ptr, y - 1, x) && is_floor_bold(p_ptr->current_floor_ptr, y + 1, x) &&
-               (is_outer_bold(y, x - 1) && is_outer_bold(y, x + 1)))
+               (is_outer_bold(p_ptr->current_floor_ptr, y, x - 1) && is_outer_bold(p_ptr->current_floor_ptr, y, x + 1)))
        {
                /* secret door */
                place_secret_door(y, x, DOOR_DEFAULT);
@@ -522,7 +522,7 @@ void add_door(POSITION x, POSITION y)
        *  where x = don't care
        *  .=floor, #=wall
        */
-       if (is_outer_bold(y - 1, x) && is_outer_bold(y + 1, x) &&
+       if (is_outer_bold(p_ptr->current_floor_ptr, y - 1, x) && is_outer_bold(p_ptr->current_floor_ptr, y + 1, x) &&
                is_floor_bold(p_ptr->current_floor_ptr, y, x - 1) && is_floor_bold(p_ptr->current_floor_ptr, y, x + 1))
        {
                /* secret door */
index b9c09e8..4e8e5ff 100644 (file)
@@ -103,7 +103,7 @@ typedef struct
 #define is_extra_bold(F,Y,X) (F->grid_array[Y][X].info & CAVE_EXTRA)
 
 #define is_inner_bold(F,Y,X) (F->grid_array[Y][X].info & CAVE_INNER)
-#define is_outer_bold(Y,X) (p_ptr->current_floor_ptr->grid_array[Y][X].info & CAVE_OUTER)
+#define is_outer_bold(F,Y,X) (F->grid_array[Y][X].info & CAVE_OUTER)
 #define is_solid_bold(Y,X) (p_ptr->current_floor_ptr->grid_array[Y][X].info & CAVE_SOLID)
 
 #define is_floor_grid(C) ((C)->info & CAVE_FLOOR)
index 8c167a8..6180223 100644 (file)
@@ -1096,7 +1096,7 @@ bool generate_fracave(POSITION y0, POSITION x0, POSITION xsize, POSITION ysize,
                                if (light) p_ptr->current_floor_ptr->grid_array[y0 + y - yhsize][x0 + x - xhsize].info |= (CAVE_GLOW);
                                if (room) p_ptr->current_floor_ptr->grid_array[y0 + y - yhsize][x0 + x - xhsize].info |= (CAVE_ROOM);
                        }
-                       else if (is_outer_bold(y0 + y - yhsize, x0 + x - xhsize) &&
+                       else if (is_outer_bold(p_ptr->current_floor_ptr, y0 + y - yhsize, x0 + x - xhsize) &&
                                 (p_ptr->current_floor_ptr->grid_array[y0 + y - yhsize][x0 + x - xhsize].info & CAVE_ICKY))
                        {
                                /* Walls */
@@ -1303,7 +1303,7 @@ bool generate_lake(POSITION y0, POSITION x0, POSITION xsize, POSITION ysize, int
                {
                        /* Fill unconnected regions with granite */
                        if ((!(p_ptr->current_floor_ptr->grid_array[y0 + y - yhsize][x0 + x - xhsize].info & CAVE_ICKY)) ||
-                               is_outer_bold(y0 + y - yhsize, x0 + x - xhsize))
+                               is_outer_bold(p_ptr->current_floor_ptr, y0 + y - yhsize, x0 + x - xhsize))
                                place_extra_bold(y0 + y - yhsize, x0 + x - xhsize);
 
                        /* current_world_ptr->game_turn off icky flag (no longer needed.) */