OSDN Git Service

[Refactor] #38997 build_room() に floor_type * 引数を追加. / Add floor_type * argument...
authordeskull <deskull@users.sourceforge.jp>
Wed, 16 Oct 2019 11:04:30 +0000 (20:04 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Wed, 16 Oct 2019 11:04:30 +0000 (20:04 +0900)
src/rooms-vault.c
src/rooms.c
src/rooms.h

index 3da9d85..36ec04c 100644 (file)
@@ -201,7 +201,7 @@ static void build_room_vault(POSITION x0, POSITION y0, POSITION xsize, POSITION
                x2 = randint1(xhsize) * 2 + x0 - xhsize;
                y1 = randint1(yhsize) * 2 + y0 - yhsize;
                y2 = randint1(yhsize) * 2 + y0 - yhsize;
-               build_room(x1, x2, y1, y2);
+               build_room(p_ptr->current_floor_ptr, x1, x2, y1, y2);
        }
 
        /* Add some random doors */
index e49819f..dcffa50 100644 (file)
@@ -1517,7 +1517,7 @@ void fill_treasure(floor_type *floor_ptr, POSITION x1, POSITION x2, POSITION y1,
  * The area inside the walls is not touched:
  * only granite is removed- normal walls stay
  */
-void build_room(POSITION x1, POSITION x2, POSITION y1, POSITION y2)
+void build_room(floor_type *floor_ptr, POSITION x1, POSITION x2, POSITION y1, POSITION y2)
 {
        POSITION x, y, xsize, ysize;
        int i, temp;
@@ -1550,18 +1550,18 @@ void build_room(POSITION x1, POSITION x2, POSITION y1, POSITION y2)
        for (i = 0; i <= xsize; i++)
        {
                place_outer_noperm_bold(y1, x1 + i);
-               p_ptr->current_floor_ptr->grid_array[y1][x1 + i].info |= (CAVE_ROOM | CAVE_ICKY);
+               floor_ptr->grid_array[y1][x1 + i].info |= (CAVE_ROOM | CAVE_ICKY);
                place_outer_noperm_bold(y2, x1 + i);
-               p_ptr->current_floor_ptr->grid_array[y2][x1 + i].info |= (CAVE_ROOM | CAVE_ICKY);
+               floor_ptr->grid_array[y2][x1 + i].info |= (CAVE_ROOM | CAVE_ICKY);
        }
 
        /* Left and right boundaries */
        for (i = 1; i < ysize; i++)
        {
                place_outer_noperm_bold(y1 + i, x1);
-               p_ptr->current_floor_ptr->grid_array[y1 + i][x1].info|=(CAVE_ROOM | CAVE_ICKY);
+               floor_ptr->grid_array[y1 + i][x1].info|=(CAVE_ROOM | CAVE_ICKY);
                place_outer_noperm_bold(y1 + i, x2);
-               p_ptr->current_floor_ptr->grid_array[y1 + i][x2].info|=(CAVE_ROOM | CAVE_ICKY);
+               floor_ptr->grid_array[y1 + i][x2].info|=(CAVE_ROOM | CAVE_ICKY);
        }
 
        /* Middle */
@@ -1569,16 +1569,16 @@ void build_room(POSITION x1, POSITION x2, POSITION y1, POSITION y2)
        {
                for (y = 1; y < ysize; y++)
                {
-                       if (is_extra_bold(p_ptr->current_floor_ptr, y1+y, x1+x))
+                       if (is_extra_bold(floor_ptr, y1+y, x1+x))
                        {
                                /* clear the untouched region */
                                place_floor_bold(y1 + y, x1 + x);
-                               p_ptr->current_floor_ptr->grid_array[y1 + y][x1 + x].info |= (CAVE_ROOM | CAVE_ICKY);
+                               floor_ptr->grid_array[y1 + y][x1 + x].info |= (CAVE_ROOM | CAVE_ICKY);
                        }
                        else
                        {
                                /* make it a room- but don't touch */
-                               p_ptr->current_floor_ptr->grid_array[y1 + y][x1 + x].info |= (CAVE_ROOM | CAVE_ICKY);
+                               floor_ptr->grid_array[y1 + y][x1 + x].info |= (CAVE_ROOM | CAVE_ICKY);
                        }
                }
        }
index 0de6802..c9e370e 100644 (file)
@@ -101,5 +101,5 @@ extern bool generate_fracave(floor_type *floor_ptr, POSITION y0, POSITION x0, PO
 extern void fill_treasure(floor_type *floor_ptr, POSITION x1, POSITION x2, POSITION y1, POSITION y2, int difficulty);
 extern bool generate_lake(POSITION y0, POSITION x0, POSITION xsize, POSITION ysize, int c1, int c2, int c3, int type);
 extern void build_recursive_room(POSITION x1, POSITION y1, POSITION x2, POSITION y2, int power);
-extern void build_room(POSITION x1, POSITION x2, POSITION y1, POSITION y2);
+extern void build_room(floor_type *floor_ptr, POSITION x1, POSITION x2, POSITION y1, POSITION y2);
 extern void r_visit(POSITION y1, POSITION x1, POSITION y2, POSITION x2, int node, DIRECTION dir, int *visited);