*
* Certain data is saved in multiple places for efficient access, currently,
* this includes the tval/sval/weight fields in "object_type", various fields
- * in "header_type", and the "m_idx" and "o_idx" fields in "cave_type". All
+ * in "header_type", and the "m_idx" and "o_idx" fields in "grid_type". All
* of these could be removed, but this would, in general, slow down the game
* and increase the complexity of the code.
* </pre>
/*
* A single "grid" in a Cave
*
- * Note that several aspects of the code restrict the actual cave
+ * Note that several aspects of the code restrict the actual current_floor_ptr->grid_array
* to a max size of 256 by 256. In partcular, locations are often
* saved as bytes, limiting each coordinate to the 0-255 range.
*
* The "o_idx" and "m_idx" fields are very interesting. There are
* many places in the code where we need quick access to the actual
- * monster or object(s) in a given cave grid. The easiest way to
+ * monster or object(s) in a given grid. The easiest way to
* do this is to simply keep the index of the monster and object
* (if any) with the grid, but this takes 198*66*4 bytes of memory.
* Several other methods come to mind, which require only half this
* Note the special fields for the "MONSTER_FLOW" code.
*/
-typedef struct cave_type cave_type;
+typedef struct grid_type grid_type;
-struct cave_type
+struct grid_type
{
- BIT_FLAGS info; /* Hack -- cave flags */
+ BIT_FLAGS info; /* Hack -- current_floor_ptr->grid_array flags */
FEAT_IDX feat; /* Hack -- feature type */
OBJECT_IDX o_idx; /* Object in this grid */
MONSTER_IDX m_idx; /* Monster in this grid */
- /*! 地形の特別な情報を保存する / Special cave info
+ /*! 地形の特別な情報を保存する / Special current_floor_ptr->grid_array info
* 具体的な使用一覧はクエスト行き階段の移行先クエストID、
* 各ダンジョン入口の移行先ダンジョンID、
*
* Note that "object flags" must now be derived from the object kind,
* the artifact and ego-item indexes, and the two "xtra" fields.
*
- * Each cave grid points to one (or zero) objects via the "o_idx"
+ * Each grid points to one (or zero) objects via the "o_idx"
* field (above). Each object then points to one (or zero) objects
* via the "next_o_idx" field, forming a singly linked list, which
* in game terms, represents a "stack" of objects in the same grid.
PLAYER_LEVEL lev; /* Level */
- s16b town_num; /* Current town number */
+ TOWN_IDX town_num; /* Current town number */
s16b arena_number; /* monster number in arena -KMW- */
bool inside_arena; /* Is character inside arena? */
QUEST_IDX inside_quest; /* Inside quest level */
struct martial_arts
{
- concptr desc; /* A verbose attack description */
- int min_level; /* Minimum level to use */
- int chance; /* Chance of 'success' */
- int dd; /* Damage dice */
- int ds; /* Damage sides */
- int effect; /* Special effects */
+ concptr desc; /* A verbose attack description */
+ PLAYER_LEVEL min_level; /* Minimum level to use */
+ int chance; /* Chance of 'success' */
+ int dd; /* Damage dice */
+ int ds; /* Damage sides */
+ int effect; /* Special effects */
};
typedef struct kamae kamae;
struct kamae
{
- concptr desc; /* A verbose kamae description */
- int min_level; /* Minimum level to use */
- concptr info;
+ concptr desc; /* A verbose kamae description */
+ PLAYER_LEVEL min_level; /* Minimum level to use */
+ concptr info;
};
/* Mindcrafters */
typedef struct mind_type mind_type;
struct mind_type
{
- int min_lev;
- int mana_cost;
- int fail;
- concptr name;
+ PLAYER_LEVEL min_lev;
+ MANA_POINT mana_cost;
+ PERCENTAGE fail;
+ concptr name;
};
typedef struct mind_power mind_power;
{
GAME_TEXT name[20]; /* proprietor name */
GAME_TEXT owner_name[20]; /* proprietor name */
- char owner_race[20]; /* proprietor race */
+ GAME_TEXT owner_race[20]; /* proprietor race */
GAME_TEXT act_names[8][30]; /* action names */
PRICE member_costs[8]; /* Costs for class members of building */
struct wilderness_type
{
int terrain;
- int town;
+ TOWN_IDX town;
int road;
u32b seed;
DEPTH level;
int type;
concptr name;
} dragonbreath_type;
+
+typedef struct {
+ grid_type *grid_array[MAX_HGT];
+ DEPTH dun_level; /*!< 現在の実ダンジョン階層base_levelの参照元となる / Current dungeon level */
+ DEPTH base_level;
+ POSITION width; /* Current dungeon width */
+ POSITION height; /* Current dungeon height */
+} floor_type;
\ No newline at end of file