From: deskull Date: Wed, 20 Nov 2019 03:40:15 +0000 (+0900) Subject: [Refactor] #38997 forget_view() に floor_type * 引数を追加. / Add floor_type * argument... X-Git-Url: http://git.osdn.net/view?p=hengband%2Fhengband.git;a=commitdiff_plain;h=9d181678ef35a204e28306ebc1bb0836e5aa02db [Refactor] #38997 forget_view() に floor_type * 引数を追加. / Add floor_type * argument to forget_view(). --- diff --git a/src/bldg.c b/src/bldg.c index 31a3b7ccc..1231d97d1 100644 --- a/src/bldg.c +++ b/src/bldg.c @@ -4148,7 +4148,7 @@ void do_cmd_bldg(void) } forget_lite(p_ptr->current_floor_ptr); - forget_view(); + forget_view(p_ptr->current_floor_ptr); /* Hack -- Increase "icky" depth */ current_world_ptr->character_icky++; diff --git a/src/core.c b/src/core.c index 32c2c64b5..03e0fa1bb 100644 --- a/src/core.c +++ b/src/core.c @@ -5622,7 +5622,7 @@ void play_game(bool new_game) health_track(0); forget_lite(p_ptr->current_floor_ptr); - forget_view(); + forget_view(p_ptr->current_floor_ptr); clear_mon_lite(p_ptr->current_floor_ptr); /* Handle "quit and save" */ diff --git a/src/files.c b/src/files.c index f61479ab1..f3bfd0e34 100644 --- a/src/files.c +++ b/src/files.c @@ -6934,7 +6934,7 @@ static void handle_signal_simple(int sig) (void)strcpy(p_ptr->died_from, _("強制終了", "Abortion")); forget_lite(p_ptr->current_floor_ptr); - forget_view(); + forget_view(p_ptr->current_floor_ptr); clear_mon_lite(p_ptr->current_floor_ptr); /* Close stuff */ @@ -6951,7 +6951,7 @@ static void handle_signal_simple(int sig) (void)strcpy(p_ptr->died_from, _("強制終了中", "Interrupting")); forget_lite(p_ptr->current_floor_ptr); - forget_view(); + forget_view(p_ptr->current_floor_ptr); clear_mon_lite(p_ptr->current_floor_ptr); /* Stop playing */ @@ -7027,7 +7027,7 @@ static void handle_signal_abort(int sig) forget_lite(p_ptr->current_floor_ptr); - forget_view(); + forget_view(p_ptr->current_floor_ptr); clear_mon_lite(p_ptr->current_floor_ptr); /* Clear the bottom line */ diff --git a/src/floor-events.c b/src/floor-events.c index c386b815b..af046929c 100644 --- a/src/floor-events.c +++ b/src/floor-events.c @@ -641,21 +641,21 @@ void update_lite(player_type *subject_ptr, floor_type *floor_ptr) /* * Clear the viewable space */ -void forget_view(void) +void forget_view(floor_type *floor_ptr) { int i; grid_type *g_ptr; /* None to forget */ - if (!p_ptr->current_floor_ptr->view_n) return; + if (!floor_ptr->view_n) return; /* Clear them all */ - for (i = 0; i < p_ptr->current_floor_ptr->view_n; i++) + for (i = 0; i < floor_ptr->view_n; i++) { - POSITION y = p_ptr->current_floor_ptr->view_y[i]; - POSITION x = p_ptr->current_floor_ptr->view_x[i]; - g_ptr = &p_ptr->current_floor_ptr->grid_array[y][x]; + POSITION y = floor_ptr->view_y[i]; + POSITION x = floor_ptr->view_x[i]; + g_ptr = &floor_ptr->grid_array[y][x]; /* Forget that the grid is viewable */ g_ptr->info &= ~(CAVE_VIEW); @@ -667,7 +667,7 @@ void forget_view(void) } /* None left */ - p_ptr->current_floor_ptr->view_n = 0; + floor_ptr->view_n = 0; } diff --git a/src/floor-events.h b/src/floor-events.h index 0252f0d8a..7cda967b6 100644 --- a/src/floor-events.h +++ b/src/floor-events.h @@ -8,7 +8,7 @@ extern void update_dungeon_feeling(player_type *subject_ptr, floor_type *floor_p extern void glow_deep_lava_and_bldg(floor_type *floor_ptr); extern void forget_lite(floor_type *floor_ptr); extern void update_lite(player_type *subject_ptr, floor_type *floor_ptr); -extern void forget_view(void); +extern void forget_view(floor_type *floor_ptr); extern void update_view(player_type *subject_ptr, floor_type *floor_ptr); extern void update_mon_lite(player_type *subject_ptr, floor_type *floor_ptr); extern void clear_mon_lite(floor_type *floor_ptr); diff --git a/src/floor-save.c b/src/floor-save.c index ad93517e6..140ba0855 100644 --- a/src/floor-save.c +++ b/src/floor-save.c @@ -1070,7 +1070,7 @@ void leave_floor(player_type *creature_ptr) sf_ptr->last_visit = current_world_ptr->game_turn; forget_lite(p_ptr->current_floor_ptr); - forget_view(); + forget_view(p_ptr->current_floor_ptr); clear_mon_lite(p_ptr->current_floor_ptr); /* Save current floor */ diff --git a/src/floor.c b/src/floor.c index aa8761ea5..e314ba416 100644 --- a/src/floor.c +++ b/src/floor.c @@ -105,7 +105,7 @@ static int scent_when = 0; * Whenever the age count loops, most of the scent trail is erased and * the age of the remainder is recalculated. */ -void update_smell(floor_type *floor_ptr) +void update_smell(floor_type *floor_ptr, player_type *subject_ptr) { POSITION i, j; POSITION y, x; @@ -146,8 +146,8 @@ void update_smell(floor_type *floor_ptr) grid_type *g_ptr; /* Translate table to map grids */ - y = i + p_ptr->y - 2; - x = j + p_ptr->x - 2; + y = i + subject_ptr->y - 2; + x = j + subject_ptr->x - 2; /* Check Bounds */ if (!in_bounds(floor_ptr, y, x)) continue; @@ -158,7 +158,7 @@ void update_smell(floor_type *floor_ptr) if (!cave_have_flag_grid(g_ptr, FF_MOVE) && !is_closed_door(g_ptr->feat)) continue; /* Grid must not be blocked by walls from the character */ - if (!player_has_los_bold(p_ptr, y, x)) continue; + if (!player_has_los_bold(subject_ptr, y, x)) continue; /* Note grids that are too far away */ if (scent_adjust[i][j] == -1) continue; diff --git a/src/main-win.c b/src/main-win.c index 986aa58c3..69fe00984 100644 --- a/src/main-win.c +++ b/src/main-win.c @@ -3941,7 +3941,7 @@ static void process_menus(WORD wCmd) msg_flag = FALSE; forget_lite(p_ptr->current_floor_ptr); - forget_view(); + forget_view(p_ptr->current_floor_ptr); clear_mon_lite(p_ptr->current_floor_ptr); /* Save the game */ @@ -4838,7 +4838,7 @@ LRESULT FAR PASCAL AngbandWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lP msg_flag = FALSE; forget_lite(p_ptr->current_floor_ptr); - forget_view(); + forget_view(p_ptr->current_floor_ptr); clear_mon_lite(p_ptr->current_floor_ptr); /* Save the game */ diff --git a/src/player-status.c b/src/player-status.c index af2a809f5..c53077e90 100644 --- a/src/player-status.c +++ b/src/player-status.c @@ -5051,7 +5051,7 @@ void update_creature(player_type *creature_ptr) if (creature_ptr->update & (PU_UN_VIEW)) { creature_ptr->update &= ~(PU_UN_VIEW); - forget_view(); + forget_view(creature_ptr->current_floor_ptr); } if (creature_ptr->update & (PU_VIEW)) diff --git a/src/save.c b/src/save.c index 5f53aba83..c7a64978f 100644 --- a/src/save.c +++ b/src/save.c @@ -1117,7 +1117,7 @@ static bool wr_dungeon(void) int i; forget_lite(p_ptr->current_floor_ptr); - forget_view(); + forget_view(p_ptr->current_floor_ptr); clear_mon_lite(p_ptr->current_floor_ptr); /* Update lite/view */ diff --git a/src/store.c b/src/store.c index b45dff5d1..fbc3098e4 100644 --- a/src/store.c +++ b/src/store.c @@ -5763,7 +5763,7 @@ void do_cmd_store(void) } forget_lite(p_ptr->current_floor_ptr); - forget_view(); + forget_view(p_ptr->current_floor_ptr); /* Hack -- Character is in "icky" mode */ current_world_ptr->character_icky = TRUE;