From ec8808874c7b22d8139b32415f0ca2c5d49dee1d Mon Sep 17 00:00:00 2001 From: deskull Date: Sun, 3 Nov 2019 08:03:06 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#38997=20place=5Fsecret=5Fdoor(),?= =?utf8?q?=20place=5Flocked=5Fdoor()=20=E3=81=AB=20floor=5Ftype=20*=20?= =?utf8?q?=E5=BC=95=E6=95=B0=E3=82=92=E8=BF=BD=E5=8A=A0=EF=BC=8E=20/=20Add?= =?utf8?q?=20floor=5Ftype=20*=20argument=20to=20place=5Fsecret=5Fdoor(),?= =?utf8?q?=20place=5Flocked=5Fdoor().?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/floor.c | 4 +-- src/floor.h | 4 +-- src/grid.c | 4 +-- src/rooms-normal.c | 76 ++++++++++++++++++++++++++--------------------------- src/rooms-pitnest.c | 16 +++++------ src/rooms-special.c | 2 +- src/rooms-vault.c | 6 ++--- src/rooms.c | 8 +++--- 8 files changed, 60 insertions(+), 60 deletions(-) diff --git a/src/floor.c b/src/floor.c index 8e9db99be..b8944eb05 100644 --- a/src/floor.c +++ b/src/floor.c @@ -23,7 +23,7 @@ saved_floor_type saved_floors[MAX_SAVED_FLOORS]; * @param x 配置したいフロアのX座標 * @return なし */ -void place_locked_door(POSITION y, POSITION x) +void place_locked_door(floor_type *floor_ptr, POSITION y, POSITION x) { if (d_info[p_ptr->dungeon_idx].flags1 & DF1_NO_DOORS) { @@ -45,7 +45,7 @@ void place_locked_door(POSITION y, POSITION x) * @param type DOOR_DEFAULT / DOOR_DOOR / DOOR_GLASS_DOOR / DOOR_CURTAIN のいずれか * @return なし */ -void place_secret_door(POSITION y, POSITION x, int type) +void place_secret_door(floor_type *floor_ptr, POSITION y, POSITION x, int type) { if (d_info[p_ptr->dungeon_idx].flags1 & DF1_NO_DOORS) { diff --git a/src/floor.h b/src/floor.h index d5cfb2507..81c3db38a 100644 --- a/src/floor.h +++ b/src/floor.h @@ -372,5 +372,5 @@ extern saved_floor_type saved_floors[MAX_SAVED_FLOORS]; #define GRID_X(G) \ ((int)((G) % 256U)) -extern void place_secret_door(POSITION y, POSITION x, int type); -extern void place_locked_door(POSITION y, POSITION x); +extern void place_secret_door(floor_type *floor_ptr, POSITION y, POSITION x, int type); +extern void place_locked_door(floor_type *floor_ptr, POSITION y, POSITION x); diff --git a/src/grid.c b/src/grid.c index 82a3c7a1d..4b8be00cf 100644 --- a/src/grid.c +++ b/src/grid.c @@ -429,7 +429,7 @@ void add_door(POSITION x, POSITION y) (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); + place_secret_door(p_ptr->current_floor_ptr, y, x, DOOR_DEFAULT); /* set boundarys so don't get wide doors */ place_solid_bold(y, x - 1); @@ -449,7 +449,7 @@ void add_door(POSITION x, POSITION y) is_floor_bold(p_ptr->current_floor_ptr, y, x - 1) && is_floor_bold(p_ptr->current_floor_ptr, y, x + 1)) { /* secret door */ - place_secret_door(y, x, DOOR_DEFAULT); + place_secret_door(p_ptr->current_floor_ptr, y, x, DOOR_DEFAULT); /* set boundarys so don't get wide doors */ place_solid_bold(y - 1, x); diff --git a/src/rooms-normal.c b/src/rooms-normal.c index 9d74463cd..3b5c4360f 100644 --- a/src/rooms-normal.c +++ b/src/rooms-normal.c @@ -487,10 +487,10 @@ bool build_type3(floor_type *floor_ptr) /* Place a secret door on the inner room */ switch (randint0(4)) { - case 0: place_secret_door(y1b, xval, DOOR_DEFAULT); break; - case 1: place_secret_door(y2b, xval, DOOR_DEFAULT); break; - case 2: place_secret_door(yval, x1a, DOOR_DEFAULT); break; - case 3: place_secret_door(yval, x2a, DOOR_DEFAULT); break; + case 0: place_secret_door(floor_ptr, y1b, xval, DOOR_DEFAULT); break; + case 1: place_secret_door(floor_ptr, y2b, xval, DOOR_DEFAULT); break; + case 2: place_secret_door(floor_ptr, yval, x1a, DOOR_DEFAULT); break; + case 3: place_secret_door(floor_ptr, yval, x2a, DOOR_DEFAULT); break; } /* Place a treasure in the vault */ @@ -538,10 +538,10 @@ bool build_type3(floor_type *floor_ptr) one_in_((d_info[p_ptr->dungeon_idx].flags1 & DF1_NO_CAVE) ? 16 : 256)) ? DOOR_CURTAIN : ((d_info[p_ptr->dungeon_idx].flags1 & DF1_GLASS_DOOR) ? DOOR_GLASS_DOOR : DOOR_DOOR); - place_secret_door(yval, x1a - 1, door_type); - place_secret_door(yval, x2a + 1, door_type); - place_secret_door(y1b - 1, xval, door_type); - place_secret_door(y2b + 1, xval, door_type); + place_secret_door(floor_ptr, yval, x1a - 1, door_type); + place_secret_door(floor_ptr, yval, x2a + 1, door_type); + place_secret_door(floor_ptr, y1b - 1, xval, door_type); + place_secret_door(floor_ptr, y2b + 1, xval, door_type); } } @@ -666,10 +666,10 @@ bool build_type4(floor_type *floor_ptr) /* Place a secret door */ switch (randint1(4)) { - case 1: place_secret_door(y1 - 1, xval, DOOR_DEFAULT); break; - case 2: place_secret_door(y2 + 1, xval, DOOR_DEFAULT); break; - case 3: place_secret_door(yval, x1 - 1, DOOR_DEFAULT); break; - case 4: place_secret_door(yval, x2 + 1, DOOR_DEFAULT); break; + case 1: place_secret_door(floor_ptr, y1 - 1, xval, DOOR_DEFAULT); break; + case 2: place_secret_door(floor_ptr, y2 + 1, xval, DOOR_DEFAULT); break; + case 3: place_secret_door(floor_ptr, yval, x1 - 1, DOOR_DEFAULT); break; + case 4: place_secret_door(floor_ptr, yval, x2 + 1, DOOR_DEFAULT); break; } /* Place a monster in the room */ @@ -684,10 +684,10 @@ bool build_type4(floor_type *floor_ptr) /* Place a secret door */ switch (randint1(4)) { - case 1: place_secret_door(y1 - 1, xval, DOOR_DEFAULT); break; - case 2: place_secret_door(y2 + 1, xval, DOOR_DEFAULT); break; - case 3: place_secret_door(yval, x1 - 1, DOOR_DEFAULT); break; - case 4: place_secret_door(yval, x2 + 1, DOOR_DEFAULT); break; + case 1: place_secret_door(floor_ptr, y1 - 1, xval, DOOR_DEFAULT); break; + case 2: place_secret_door(floor_ptr, y2 + 1, xval, DOOR_DEFAULT); break; + case 3: place_secret_door(floor_ptr, yval, x1 - 1, DOOR_DEFAULT); break; + case 4: place_secret_door(floor_ptr, yval, x2 + 1, DOOR_DEFAULT); break; } /* Place another inner room */ @@ -704,10 +704,10 @@ bool build_type4(floor_type *floor_ptr) /* Place a locked door on the inner room */ switch (randint1(4)) { - case 1: place_locked_door(yval - 1, xval); break; - case 2: place_locked_door(yval + 1, xval); break; - case 3: place_locked_door(yval, xval - 1); break; - case 4: place_locked_door(yval, xval + 1); break; + case 1: place_locked_door(floor_ptr, yval - 1, xval); break; + case 2: place_locked_door(floor_ptr, yval + 1, xval); break; + case 3: place_locked_door(floor_ptr, yval, xval - 1); break; + case 4: place_locked_door(floor_ptr, yval, xval + 1); break; } /* Monsters to guard the "treasure" */ @@ -737,10 +737,10 @@ bool build_type4(floor_type *floor_ptr) /* Place a secret door */ switch (randint1(4)) { - case 1: place_secret_door(y1 - 1, xval, DOOR_DEFAULT); break; - case 2: place_secret_door(y2 + 1, xval, DOOR_DEFAULT); break; - case 3: place_secret_door(yval, x1 - 1, DOOR_DEFAULT); break; - case 4: place_secret_door(yval, x2 + 1, DOOR_DEFAULT); break; + case 1: place_secret_door(floor_ptr, y1 - 1, xval, DOOR_DEFAULT); break; + case 2: place_secret_door(floor_ptr, y2 + 1, xval, DOOR_DEFAULT); break; + case 3: place_secret_door(floor_ptr, yval, x1 - 1, DOOR_DEFAULT); break; + case 4: place_secret_door(floor_ptr, yval, x2 + 1, DOOR_DEFAULT); break; } /* Large Inner Pillar */ @@ -795,8 +795,8 @@ bool build_type4(floor_type *floor_ptr) place_inner_grid(g_ptr); /* Secret doors (random top/bottom) */ - place_secret_door(yval - 3 + (randint1(2) * 2), xval - 3, door_type); - place_secret_door(yval - 3 + (randint1(2) * 2), xval + 3, door_type); + place_secret_door(floor_ptr, yval - 3 + (randint1(2) * 2), xval - 3, door_type); + place_secret_door(floor_ptr, yval - 3 + (randint1(2) * 2), xval + 3, door_type); /* Monsters */ vault_monsters(yval, xval - 2, randint1(2)); @@ -816,10 +816,10 @@ bool build_type4(floor_type *floor_ptr) /* Place a secret door */ switch (randint1(4)) { - case 1: place_secret_door(y1 - 1, xval, DOOR_DEFAULT); break; - case 2: place_secret_door(y2 + 1, xval, DOOR_DEFAULT); break; - case 3: place_secret_door(yval, x1 - 1, DOOR_DEFAULT); break; - case 4: place_secret_door(yval, x2 + 1, DOOR_DEFAULT); break; + case 1: place_secret_door(floor_ptr, y1 - 1, xval, DOOR_DEFAULT); break; + case 2: place_secret_door(floor_ptr, y2 + 1, xval, DOOR_DEFAULT); break; + case 3: place_secret_door(floor_ptr, yval, x1 - 1, DOOR_DEFAULT); break; + case 4: place_secret_door(floor_ptr, yval, x2 + 1, DOOR_DEFAULT); break; } /* Maze (really a checkerboard) */ @@ -872,18 +872,18 @@ bool build_type4(floor_type *floor_ptr) if (randint0(100) < 50) { int i = randint1(10); - place_secret_door(y1 - 1, xval - i, door_type); - place_secret_door(y1 - 1, xval + i, door_type); - place_secret_door(y2 + 1, xval - i, door_type); - place_secret_door(y2 + 1, xval + i, door_type); + place_secret_door(floor_ptr, y1 - 1, xval - i, door_type); + place_secret_door(floor_ptr, y1 - 1, xval + i, door_type); + place_secret_door(floor_ptr, y2 + 1, xval - i, door_type); + place_secret_door(floor_ptr, y2 + 1, xval + i, door_type); } else { int i = randint1(3); - place_secret_door(yval + i, x1 - 1, door_type); - place_secret_door(yval - i, x1 - 1, door_type); - place_secret_door(yval + i, x2 + 1, door_type); - place_secret_door(yval - i, x2 + 1, door_type); + place_secret_door(floor_ptr, yval + i, x1 - 1, door_type); + place_secret_door(floor_ptr, yval - i, x1 - 1, door_type); + place_secret_door(floor_ptr, yval + i, x2 + 1, door_type); + place_secret_door(floor_ptr, yval - i, x2 + 1, door_type); } /* Treasure, centered at the center of the cross */ diff --git a/src/rooms-pitnest.c b/src/rooms-pitnest.c index c4db1f801..3396c4443 100644 --- a/src/rooms-pitnest.c +++ b/src/rooms-pitnest.c @@ -408,10 +408,10 @@ bool build_type5(floor_type *floor_ptr) /* Place a secret door */ switch (randint1(4)) { - case 1: place_secret_door(y1 - 1, xval, DOOR_DEFAULT); break; - case 2: place_secret_door(y2 + 1, xval, DOOR_DEFAULT); break; - case 3: place_secret_door(yval, x1 - 1, DOOR_DEFAULT); break; - case 4: place_secret_door(yval, x2 + 1, DOOR_DEFAULT); break; + case 1: place_secret_door(floor_ptr, y1 - 1, xval, DOOR_DEFAULT); break; + case 2: place_secret_door(floor_ptr, y2 + 1, xval, DOOR_DEFAULT); break; + case 3: place_secret_door(floor_ptr, yval, x1 - 1, DOOR_DEFAULT); break; + case 4: place_secret_door(floor_ptr, yval, x2 + 1, DOOR_DEFAULT); break; } msg_format_wizard(CHEAT_DUNGEON, _("モンスター部屋(nest)(%s%s)を生成します。", "Monster nest (%s%s)"), n_ptr->name, pit_subtype_string(cur_nest_type, TRUE)); @@ -614,10 +614,10 @@ bool build_type6(floor_type *floor_ptr) /* Place a secret door */ switch (randint1(4)) { - case 1: place_secret_door(y1 - 1, xval, DOOR_DEFAULT); break; - case 2: place_secret_door(y2 + 1, xval, DOOR_DEFAULT); break; - case 3: place_secret_door(yval, x1 - 1, DOOR_DEFAULT); break; - case 4: place_secret_door(yval, x2 + 1, DOOR_DEFAULT); break; + case 1: place_secret_door(floor_ptr, y1 - 1, xval, DOOR_DEFAULT); break; + case 2: place_secret_door(floor_ptr, y2 + 1, xval, DOOR_DEFAULT); break; + case 3: place_secret_door(floor_ptr, yval, x1 - 1, DOOR_DEFAULT); break; + case 4: place_secret_door(floor_ptr, yval, x2 + 1, DOOR_DEFAULT); break; } /* Sort the entries */ diff --git a/src/rooms-special.c b/src/rooms-special.c index 439b9abb0..f4d8a10e8 100644 --- a/src/rooms-special.c +++ b/src/rooms-special.c @@ -113,7 +113,7 @@ bool build_type15(floor_type *floor_ptr) dir1 = randint0(4); y = yval + 2 * ddy_ddd[dir1]; x = xval + 2 * ddx_ddd[dir1]; - place_secret_door(y, x, DOOR_GLASS_DOOR); + place_secret_door(floor_ptr, y, x, DOOR_GLASS_DOOR); g_ptr = &floor_ptr->grid_array[y][x]; if (is_closed_door(g_ptr->feat)) g_ptr->mimic = feat_glass_wall; diff --git a/src/rooms-vault.c b/src/rooms-vault.c index d71c755de..72bdfb9eb 100644 --- a/src/rooms-vault.c +++ b/src/rooms-vault.c @@ -423,18 +423,18 @@ static void build_vault(floor_type *floor_ptr, POSITION yval, POSITION xval, POS /* Secret doors */ case '+': - place_secret_door(y, x, DOOR_DEFAULT); + place_secret_door(floor_ptr, y, x, DOOR_DEFAULT); break; /* Secret glass doors */ case '-': - place_secret_door(y, x, DOOR_GLASS_DOOR); + place_secret_door(floor_ptr, y, x, DOOR_GLASS_DOOR); if (is_closed_door(g_ptr->feat)) g_ptr->mimic = feat_glass_wall; break; /* Curtains */ case '\'': - place_secret_door(y, x, DOOR_CURTAIN); + place_secret_door(floor_ptr, y, x, DOOR_CURTAIN); break; /* Trap */ diff --git a/src/rooms.c b/src/rooms.c index 6bc74bc13..2afccbe5d 100644 --- a/src/rooms.c +++ b/src/rooms.c @@ -181,10 +181,10 @@ void build_small_room(POSITION x0, POSITION y0) /* Place a secret door on one side */ switch (randint0(4)) { - case 0: place_secret_door(y0, x0 - 1, DOOR_DEFAULT); break; - case 1: place_secret_door(y0, x0 + 1, DOOR_DEFAULT); break; - case 2: place_secret_door(y0 - 1, x0, DOOR_DEFAULT); break; - case 3: place_secret_door(y0 + 1, x0, DOOR_DEFAULT); break; + case 0: place_secret_door(p_ptr->current_floor_ptr, y0, x0 - 1, DOOR_DEFAULT); break; + case 1: place_secret_door(p_ptr->current_floor_ptr, y0, x0 + 1, DOOR_DEFAULT); break; + case 2: place_secret_door(p_ptr->current_floor_ptr, y0 - 1, x0, DOOR_DEFAULT); break; + case 3: place_secret_door(p_ptr->current_floor_ptr, y0 + 1, x0, DOOR_DEFAULT); break; } /* Clear mimic type */ -- 2.11.0