-
+#pragma once
+
+typedef struct {
+ grid_type *grid_array[MAX_HGT];
+ DEPTH dun_level; /*!< 現在の実ダンジョン階層base_levelの参照元となる / Current dungeon level */
+ DEPTH base_level; /*!< 基本生成レベル、後述のobject_level, monster_levelの参照元となる / Base dungeon level */
+ DEPTH object_level; /*!< アイテムの生成レベル、current_floor_ptr->base_levelを起点に一時変更する時に参照 / Current object creation level */
+ DEPTH monster_level; /*!< モンスターの生成レベル、current_floor_ptr->base_levelを起点に一時変更する時に参照 / Current monster creation level */
+ POSITION width; /* Current dungeon width */
+ POSITION height; /* Current dungeon height */
+ MONSTER_NUMBER num_repro; /*!< Current reproducer count */
+
+ GAME_TURN generated_turn; /* Turn when level began */
+
+ object_type *o_list; /*!< The array of dungeon items [current_floor_ptr->max_o_idx] */
+ OBJECT_IDX max_o_idx; /*!< Maximum number of objects in the level */
+
+ monster_type *m_list; /*!< The array of dungeon monsters [current_floor_ptr->max_m_idx] */
+ MONSTER_IDX max_m_idx; /*!< Maximum number of monsters in the level */
+
+ s16b *mproc_list[MAX_MTIMED]; /*!< The array to process dungeon monsters[max_m_idx] */
+ s16b mproc_max[MAX_MTIMED]; /*!< Number of monsters to be processed */
+
+ POSITION_IDX lite_n; //!< Array of grids lit by player lite (see "current_floor_ptr->grid_array.c")
+ POSITION lite_y[LITE_MAX];
+ POSITION lite_x[LITE_MAX];
+
+ POSITION_IDX mon_lite_n; //!< Array of grids lit by player lite (see "current_floor_ptr->grid_array.c")
+ POSITION mon_lite_y[MON_LITE_MAX];
+ POSITION mon_lite_x[MON_LITE_MAX];
+
+ POSITION_IDX view_n; //!< Array of grids viewable to the player (see "grid_array")
+ POSITION view_y[VIEW_MAX];
+ POSITION view_x[VIEW_MAX];
+
+ POSITION_IDX redraw_n; //!< Array of grids for delayed visual updating (see "current_floor_ptr->grid_array.c")
+ POSITION redraw_y[REDRAW_MAX];
+ POSITION redraw_x[REDRAW_MAX];
+
+} floor_type;
+
#define DUNGEON_MODE_NONE 0
#define DUNGEON_MODE_AND 1
#define DUNGEON_MODE_NAND 2
#define permanent_wall(F) \
(have_flag((F)->flags, FF_WALL) && \
have_flag((F)->flags, FF_PERMANENT))
+
+extern floor_type *current_floor_ptr;
\ No newline at end of file