OSDN Git Service

[Refactor] #38997 cave_lite_hack() に floor_type * 引数を追加. / Add floor_type * argument...
authordeskull <deskull@users.sourceforge.jp>
Wed, 16 Oct 2019 11:31:07 +0000 (20:31 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Wed, 16 Oct 2019 11:31:07 +0000 (20:31 +0900)
src/floor-events.c
src/grid.h

index b979725..815ef88 100644 (file)
@@ -468,19 +468,19 @@ void update_lite(player_type *subject_ptr)
        if (p >= 1)
        {
                /* Player grid */
-               cave_lite_hack(subject_ptr->y, subject_ptr->x);
+               cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y, subject_ptr->x);
 
                /* Adjacent grid */
-               cave_lite_hack(subject_ptr->y + 1, subject_ptr->x);
-               cave_lite_hack(subject_ptr->y - 1, subject_ptr->x);
-               cave_lite_hack(subject_ptr->y, subject_ptr->x + 1);
-               cave_lite_hack(subject_ptr->y, subject_ptr->x - 1);
+               cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y + 1, subject_ptr->x);
+               cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y - 1, subject_ptr->x);
+               cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y, subject_ptr->x + 1);
+               cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y, subject_ptr->x - 1);
 
                /* Diagonal grids */
-               cave_lite_hack(subject_ptr->y + 1, subject_ptr->x + 1);
-               cave_lite_hack(subject_ptr->y + 1, subject_ptr->x - 1);
-               cave_lite_hack(subject_ptr->y - 1, subject_ptr->x + 1);
-               cave_lite_hack(subject_ptr->y - 1, subject_ptr->x - 1);
+               cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y + 1, subject_ptr->x + 1);
+               cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y + 1, subject_ptr->x - 1);
+               cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y - 1, subject_ptr->x + 1);
+               cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y - 1, subject_ptr->x - 1);
        }
 
        /* Radius 2 -- lantern radius */
@@ -489,33 +489,33 @@ void update_lite(player_type *subject_ptr)
                /* South of the player */
                if (cave_los_bold(subject_ptr->y + 1, subject_ptr->x))
                {
-                       cave_lite_hack(subject_ptr->y + 2, subject_ptr->x);
-                       cave_lite_hack(subject_ptr->y + 2, subject_ptr->x + 1);
-                       cave_lite_hack(subject_ptr->y + 2, subject_ptr->x - 1);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y + 2, subject_ptr->x);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y + 2, subject_ptr->x + 1);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y + 2, subject_ptr->x - 1);
                }
 
                /* North of the player */
                if (cave_los_bold(subject_ptr->y - 1, subject_ptr->x))
                {
-                       cave_lite_hack(subject_ptr->y - 2, subject_ptr->x);
-                       cave_lite_hack(subject_ptr->y - 2, subject_ptr->x + 1);
-                       cave_lite_hack(subject_ptr->y - 2, subject_ptr->x - 1);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y - 2, subject_ptr->x);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y - 2, subject_ptr->x + 1);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y - 2, subject_ptr->x - 1);
                }
 
                /* East of the player */
                if (cave_los_bold(subject_ptr->y, subject_ptr->x + 1))
                {
-                       cave_lite_hack(subject_ptr->y, subject_ptr->x + 2);
-                       cave_lite_hack(subject_ptr->y + 1, subject_ptr->x + 2);
-                       cave_lite_hack(subject_ptr->y - 1, subject_ptr->x + 2);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y, subject_ptr->x + 2);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y + 1, subject_ptr->x + 2);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y - 1, subject_ptr->x + 2);
                }
 
                /* West of the player */
                if (cave_los_bold(subject_ptr->y, subject_ptr->x - 1))
                {
-                       cave_lite_hack(subject_ptr->y, subject_ptr->x - 2);
-                       cave_lite_hack(subject_ptr->y + 1, subject_ptr->x - 2);
-                       cave_lite_hack(subject_ptr->y - 1, subject_ptr->x - 2);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y, subject_ptr->x - 2);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y + 1, subject_ptr->x - 2);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y - 1, subject_ptr->x - 2);
                }
        }
 
@@ -530,25 +530,25 @@ void update_lite(player_type *subject_ptr)
                /* South-East of the player */
                if (cave_los_bold(subject_ptr->y + 1, subject_ptr->x + 1))
                {
-                       cave_lite_hack(subject_ptr->y + 2, subject_ptr->x + 2);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y + 2, subject_ptr->x + 2);
                }
 
                /* South-West of the player */
                if (cave_los_bold(subject_ptr->y + 1, subject_ptr->x - 1))
                {
-                       cave_lite_hack(subject_ptr->y + 2, subject_ptr->x - 2);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y + 2, subject_ptr->x - 2);
                }
 
                /* North-East of the player */
                if (cave_los_bold(subject_ptr->y - 1, subject_ptr->x + 1))
                {
-                       cave_lite_hack(subject_ptr->y - 2, subject_ptr->x + 2);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y - 2, subject_ptr->x + 2);
                }
 
                /* North-West of the player */
                if (cave_los_bold(subject_ptr->y - 1, subject_ptr->x - 1))
                {
-                       cave_lite_hack(subject_ptr->y - 2, subject_ptr->x - 2);
+                       cave_lite_hack(subject_ptr->current_floor_ptr, subject_ptr->y - 2, subject_ptr->x - 2);
                }
 
                /* Maximal north */
@@ -588,7 +588,7 @@ void update_lite(player_type *subject_ptr)
                                if (subject_ptr->current_floor_ptr->grid_array[y][x].info & CAVE_VIEW)
                                {
                                        /* This grid is "torch lit" */
-                                       cave_lite_hack(y, x);
+                                       cave_lite_hack(subject_ptr->current_floor_ptr, y, x);
                                }
                        }
                }
index 77c0865..122bded 100644 (file)
@@ -440,13 +440,13 @@ extern bool cave_player_teleportable_bold(POSITION y, POSITION x, BIT_FLAGS mode
  * have already been placed into the "lite" array, and we are never
  * called when the "lite" array is full.
  */
-#define cave_lite_hack(Y,X) \
+#define cave_lite_hack(F, Y,X) \
 {\
-       if (!(p_ptr->current_floor_ptr->grid_array[Y][X].info & (CAVE_LITE))) \
+       if (!((F)->grid_array[Y][X].info & (CAVE_LITE))) \
        { \
-               p_ptr->current_floor_ptr->grid_array[Y][X].info |= (CAVE_LITE); \
-               p_ptr->current_floor_ptr->lite_y[p_ptr->current_floor_ptr->lite_n] = (Y); \
-               p_ptr->current_floor_ptr->lite_x[p_ptr->current_floor_ptr->lite_n++] = (X); \
+               (F)->grid_array[Y][X].info |= (CAVE_LITE); \
+               (F)->lite_y[p_ptr->current_floor_ptr->lite_n] = (Y); \
+               (F)->lite_x[p_ptr->current_floor_ptr->lite_n++] = (X); \
        } \
 }