OSDN Git Service

[Refactor] #38997 forget_view() に floor_type * 引数を追加. / Add floor_type * argument...
authordeskull <deskull@users.sourceforge.jp>
Wed, 20 Nov 2019 03:40:15 +0000 (12:40 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Wed, 20 Nov 2019 03:41:06 +0000 (12:41 +0900)
src/bldg.c
src/core.c
src/files.c
src/floor-events.c
src/floor-events.h
src/floor-save.c
src/floor.c
src/main-win.c
src/player-status.c
src/save.c
src/store.c

index 31a3b7c..1231d97 100644 (file)
@@ -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++;
index 32c2c64..03e0fa1 100644 (file)
@@ -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" */
index f61479a..f3bfd0e 100644 (file)
@@ -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 */
index c386b81..af04692 100644 (file)
@@ -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;
 }
 
 
index 0252f0d..7cda967 100644 (file)
@@ -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);
index ad93517..140ba08 100644 (file)
@@ -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 */
index aa8761e..e314ba4 100644 (file)
@@ -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;
index 986aa58..69fe009 100644 (file)
@@ -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 */
index af2a809..c53077e 100644 (file)
@@ -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))
index 5f53aba..c7a6497 100644 (file)
@@ -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 */
index b45dff5..fbc3098 100644 (file)
@@ -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;