OSDN Git Service

[Refactor] #38995 world_type 構造体に starttime を start_time に改名して取り込む。 / Move starttime...
[hengband/hengband.git] / src / types.h
index 41d477d..c813f94 100644 (file)
@@ -440,7 +440,7 @@ struct skill_table
  * amound of memory, but they all seem rather complicated, and would
  * probably add enough code that the savings would be lost.  So for
  * these reasons, we simply store an index into the "o_list" and
- * "m_list" arrays, using "zero" when no monster/object is present.
+ * "current_floor_ptr->m_list" arrays, using "zero" when no monster/object is present.
  *
  * Note that "o_idx" is the index of the top object in a stack of
  * objects, using the "next_o_idx" field of objects (see below) to
@@ -786,9 +786,9 @@ struct store_type
        s16b good_buy;                  /* Number of "good" buys */
        s16b bad_buy;                   /* Number of "bad" buys */
 
-       s32b store_open;                /* Closed until this turn */
+       s32b store_open;                /* Closed until this current_world_ptr->game_turn */
 
-       s32b last_visit;                /* Last visited on this turn */
+       s32b last_visit;                /* Last visited on this current_world_ptr->game_turn */
 
        s16b table_num;                 /* Table -- Number of entries */
        s16b table_size;                /* Table -- Total Size of Array */
@@ -1034,6 +1034,7 @@ struct player_type
        HIT_POINT mhp;                  /* Max hit pts */
        HIT_POINT chp;                  /* Cur hit pts */
        u32b chp_frac;          /* Cur hit frac (times 2^16) */
+       PERCENTAGE mutant_regenerate_mod;
 
        MANA_POINT msp;                 /* Max mana pts */
        MANA_POINT csp;                 /* Cur mana pts */
@@ -1261,6 +1262,7 @@ struct player_type
 
        bool wait_report_score;   /* Waiting to report score */
        bool is_dead;             /* Player is dead */
+       bool now_damaged;
 
        bool wizard;              /* Player is in wizard mode */
 
@@ -1284,7 +1286,7 @@ struct player_type
        bool autopick_autoregister; /* auto register is in-use or not */
 
        byte feeling;           /* Most recent dungeon feeling */
-       s32b feeling_turn;      /* The turn of the last dungeon feeling */
+       s32b feeling_turn;      /* The current_world_ptr->game_turn of the last dungeon feeling */
 
 
        /*** Temporary fields ***/
@@ -1502,7 +1504,7 @@ struct player_type
 
        byte pspeed;            /* Current speed */
 
-       ENERGY energy_use;      /* Energy use this turn */
+       ENERGY energy_use;      /* Energy use this current_world_ptr->game_turn */
 
        POSITION y;     /* Player location in dungeon */
        POSITION x;     /* Player location in dungeon */
@@ -1877,8 +1879,52 @@ typedef struct {
 typedef struct {
        grid_type *grid_array[MAX_HGT];
        DEPTH dun_level;                /*!< 現在の実ダンジョン階層base_levelの参照元となる / Current dungeon level */
-       DEPTH base_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 */
-} floor_type;
\ No newline at end of file
+
+       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;
+
+typedef struct {
+       POSITION max_wild_x; /*!< Maximum size of the wilderness */
+       POSITION max_wild_y; /*!< Maximum size of the wilderness */
+       GAME_TURN game_turn;                    /*!< 画面表示上のゲーム時間基準となるターン / Current game turn */
+       GAME_TURN game_turn_limit;              /*!< game_turnの最大値 / Limit of game_turn */
+       GAME_TURN dungeon_turn;                 /*!< NASTY生成の計算に関わる内部ターン値 / Game current_world_ptr->game_turn in dungeon */
+       GAME_TURN dungeon_turn_limit;   /*!< dungeon_turnの最大値 / Limit of game_turn in dungeon */
+       MONSTER_IDX timewalk_m_idx;     /*!< 現在時間停止を行っているモンスターのID */
+
+       MONRACE_IDX bounty_r_idx[MAX_KUBI];
+
+       u32b play_time; /*!< 実プレイ時間 */
+} world_type;