OSDN Git Service

[Refactor] #38997 build_maze_vault() に floor_type * 引数を追加. / Add floor_type * argumen...
authordeskull <deskull@users.sourceforge.jp>
Sat, 7 Dec 2019 10:38:20 +0000 (19:38 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Sat, 7 Dec 2019 13:33:54 +0000 (22:33 +0900)
src/floor-generate.c
src/rooms-vault.c
src/rooms.c
src/rooms.h

index 9d45342..773ae4f 100644 (file)
@@ -672,7 +672,7 @@ static bool cave_gen(floor_type *floor_ptr)
        /* Build maze */
        if (dungeon_ptr->flags1 & DF1_MAZE)
        {
-               build_maze_vault(floor_ptr->width/2-1, floor_ptr->height/2-1, floor_ptr->width-4, floor_ptr->height-4, FALSE);
+               build_maze_vault(floor_ptr, floor_ptr->width/2-1, floor_ptr->height/2-1, floor_ptr->width-4, floor_ptr->height-4, FALSE);
 
                /* Place 3 or 4 down stairs near some walls */
                if (!alloc_stairs(floor_ptr, feat_down_stair, rand_range(2, 3), 3)) return FALSE;
index efbd95e..eaed606 100644 (file)
@@ -1219,7 +1219,7 @@ bool build_type10(floor_type *floor_ptr)
        case 1: case  9: build_bubble_vault(floor_ptr, x0, y0, xsize, ysize); break;
        case 2: case 10: build_room_vault(floor_ptr, x0, y0, xsize, ysize); break;
        case 3: case 11: build_cave_vault(x0, y0, xsize, ysize); break;
-       case 4: case 12: build_maze_vault(x0, y0, xsize, ysize, TRUE); break;
+       case 4: case 12: build_maze_vault(floor_ptr, x0, y0, xsize, ysize, TRUE); break;
        case 5: case 13: build_mini_c_vault(floor_ptr, x0, y0, xsize, ysize); break;
        case 6: case 14: build_castle_vault(floor_ptr, x0, y0, xsize, ysize); break;
        case 7: case 15: build_target_vault(floor_ptr, x0, y0, xsize, ysize); break;
index e266b43..a9a4ace 100644 (file)
@@ -1689,7 +1689,7 @@ void r_visit(floor_type *floor_ptr, POSITION y1, POSITION x1, POSITION y2, POSIT
 }
 
 
-void build_maze_vault(POSITION x0, POSITION y0, POSITION xsize, POSITION ysize, bool is_vault)
+void build_maze_vault(floor_type *floor_ptr, POSITION x0, POSITION y0, POSITION xsize, POSITION ysize, bool is_vault)
 {
        POSITION y, x, dy, dx;
        POSITION y1, x1, y2, x2;
@@ -1700,7 +1700,7 @@ void build_maze_vault(POSITION x0, POSITION y0, POSITION xsize, POSITION ysize,
        msg_print_wizard(CHEAT_DUNGEON, _("迷路ランダムVaultを生成しました。", "Maze Vault."));
 
        /* Choose lite or dark */
-       light = ((p_ptr->current_floor_ptr->dun_level <= randint1(25)) && is_vault && !(d_info[p_ptr->dungeon_idx].flags1 & DF1_DARKNESS));
+       light = ((floor_ptr->dun_level <= randint1(25)) && is_vault && !(d_info[p_ptr->dungeon_idx].flags1 & DF1_DARKNESS));
 
        /* Pick a random room size - randomized by calling routine */
        dy = ysize / 2 - 1;
@@ -1716,7 +1716,7 @@ void build_maze_vault(POSITION x0, POSITION y0, POSITION xsize, POSITION ysize,
        {
                for (x = x1 - 1; x <= x2 + 1; x++)
                {
-                       g_ptr = &p_ptr->current_floor_ptr->grid_array[y][x];
+                       g_ptr = &floor_ptr->grid_array[y][x];
                        g_ptr->info |= CAVE_ROOM;
                        if (is_vault) g_ptr->info |= CAVE_ICKY;
                        if ((x == x1 - 1) || (x == x2 + 1) || (y == y1 - 1) || (y == y2 + 1))
@@ -1744,10 +1744,10 @@ void build_maze_vault(POSITION x0, POSITION y0, POSITION xsize, POSITION ysize,
        C_MAKE(visited, num_vertices, int);
 
        /* traverse the graph to create a spaning tree, pick a random root */
-       r_visit(p_ptr->current_floor_ptr, y1, x1, y2, x2, randint0(num_vertices), 0, visited);
+       r_visit(floor_ptr, y1, x1, y2, x2, randint0(num_vertices), 0, visited);
 
        /* Fill with monsters and treasure, low difficulty */
-       if (is_vault) fill_treasure(p_ptr->current_floor_ptr, x1, x2, y1, y2, randint1(5));
+       if (is_vault) fill_treasure(floor_ptr, x1, x2, y1, y2, randint1(5));
 
        C_KILL(visited, num_vertices, int);
 }
index 6e5d2e9..f2f3a7f 100644 (file)
@@ -89,7 +89,7 @@ typedef struct
 door_type feat_door[MAX_DOOR_TYPES];
 
 extern bool generate_rooms(floor_type *floor_ptr);
-extern void build_maze_vault(POSITION x0, POSITION y0, POSITION xsize, POSITION ysize, bool is_vault);
+extern void build_maze_vault(floor_type *floor_ptr, POSITION x0, POSITION y0, POSITION xsize, POSITION ysize, bool is_vault);
 extern bool find_space(POSITION *y, POSITION *x, POSITION height, POSITION width);
 extern void build_small_room(floor_type *floor_ptr, POSITION x0, POSITION y0);
 extern void add_outer_wall(POSITION x, POSITION y, int light, POSITION x1, POSITION y1, POSITION x2, POSITION y2);