OSDN Git Service

[Refactor] #37353 コメント整理。 / Refactor comments.
[hengband/hengband.git] / src / types.h
index 4fa714c..ef66349 100644 (file)
@@ -86,10 +86,10 @@ struct feature_type
        FEAT_SUBTYPE subtype;  /*!< 副特性値 */
        FEAT_POWER power;    /*!< 地形強度 */
 
-       SYMBOL_COLOR d_attr[F_LIT_MAX];   /*!< デフォルトの地形シンボルカラー / Default feature attribute */
+       TERM_COLOR d_attr[F_LIT_MAX];   /*!< デフォルトの地形シンボルカラー / Default feature attribute */
        SYMBOL_CODE d_char[F_LIT_MAX];   /*!< デフォルトの地形シンボルアルファベット / Default feature character */
 
-       SYMBOL_COLOR x_attr[F_LIT_MAX];   /*!< 設定変更後の地形シンボルカラー / Desired feature attribute */
+       TERM_COLOR x_attr[F_LIT_MAX];   /*!< 設定変更後の地形シンボルカラー / Desired feature attribute */
        SYMBOL_CODE x_char[F_LIT_MAX];   /*!< 設定変更後の地形シンボルアルファベット / Desired feature character */
 };
 
@@ -138,13 +138,13 @@ struct object_kind
        DEPTH level;                    /*!< ベースアイテムの基本生成階 / Level */
        BIT_FLAGS8 extra;                       /*!< その他色々のビットフラグ配列 / Something */
 
-       SYMBOL_COLOR d_attr;            /*!< デフォルトのアイテムシンボルカラー / Default object attribute */
+       TERM_COLOR d_attr;              /*!< デフォルトのアイテムシンボルカラー / Default object attribute */
        SYMBOL_CODE d_char;             /*!< デフォルトのアイテムシンボルアルファベット / Default object character */
 
-       SYMBOL_COLOR x_attr;            /*!< 設定変更後のアイテムシンボルカラー /  Desired object attribute */
+       TERM_COLOR x_attr;              /*!< 設定変更後のアイテムシンボルカラー /  Desired object attribute */
        SYMBOL_CODE x_char;             /*!< 設定変更後のアイテムシンボルアルファベット /  Desired object character */
 
-       s16b flavor;            /*!< 調査中(TODO) / Special object flavor (or zero) */
+       IDX flavor;             /*!< 調査中(TODO) / Special object flavor (or zero) */
 
        bool easy_know;         /*!< ベースアイテムが初期からベース名を判断可能かどうか / This object is always known (if aware) */
 
@@ -200,7 +200,7 @@ struct artifact_type
        byte cur_num;           /*! 現在の生成数 / Number created (0 or 1) */
        byte max_num;           /*! (未使用)最大生成数 / Unused (should be "1") */
 
-       s16b floor_id;      /*! アイテムを落としたフロアのID / Leaved on this location last time */
+       FLOOR_IDX floor_id;      /*! アイテムを落としたフロアのID / Leaved on this location last time */
 
        byte act_idx;           /*! 発動能力ID / Activative ability index */
 };
@@ -346,12 +346,10 @@ struct monster_race
        DEPTH level;                    /* Level of creature */
        RARITY rarity;                  /* Rarity of creature */
 
-
-       SYMBOL_COLOR d_attr;            /* Default monster attribute */
+       TERM_COLOR d_attr;              /* Default monster attribute */
        SYMBOL_CODE d_char;                     /* Default monster character */
 
-
-       SYMBOL_COLOR x_attr;            /* Desired monster attribute */
+       TERM_COLOR x_attr;              /* Desired monster attribute */
        SYMBOL_CODE x_char;                     /* Desired monster character */
 
 
@@ -456,7 +454,7 @@ typedef struct cave_type cave_type;
 
 struct cave_type
 {
-       u16b info;              /* Hack -- cave flags */
+       BIT_FLAGS info;         /* Hack -- cave flags */
 
        FEAT_IDX feat;          /* Hack -- feature type */
        OBJECT_IDX o_idx;               /* Object in this grid */
@@ -539,8 +537,8 @@ struct object_type
 
        WEIGHT weight;          /* Item weight */
 
-       IDX name1;                      /* Artifact type, if any */
-       IDX name2;                      /* Ego-Item type, if any */
+       ARTIFACT_IDX name1;             /* Artifact type, if any */
+       EGO_IDX name2;                  /* Ego-Item type, if any */
 
        XTRA8 xtra1;                    /* Extra info type (now unused) */
        XTRA8 xtra2;                    /* Extra info activation index */
@@ -560,7 +558,6 @@ struct object_type
        TIME_EFFECT timeout;    /* Timeout Counter */
 
        byte ident;                     /* Special flags  */
-
        byte marked;            /* Object is marked */
 
        u16b inscription;       /* Inscription index */
@@ -571,8 +568,8 @@ struct object_type
        BIT_FLAGS art_flags[TR_FLAG_SIZE];        /* Extra Flags for ego and artifacts */
        BIT_FLAGS curse_flags;        /* Flags for curse */
 
-       IDX next_o_idx; /* Next object in stack (if any) */
-       IDX held_m_idx; /* Monster holding us (if any) */
+       OBJECT_IDX next_o_idx;  /* Next object in stack (if any) */
+       MONSTER_IDX held_m_idx; /* Monster holding us (if any) */
 
        ARTIFACT_BIAS_IDX artifact_bias; /*!< ランダムアーティファクト生成時のバイアスID */
 };
@@ -581,9 +578,7 @@ struct object_type
 
 /*
  * Monster information, for a specific monster.
- *
  * Note: fy, fx constrain dungeon size to 256x256
- *
  * The "hold_o_idx" field points to the first object of a stack
  * of objects (if any) being carried by the monster (see above).
  */
@@ -593,7 +588,7 @@ typedef struct monster_type monster_type;
 struct monster_type
 {
        MONRACE_IDX r_idx;              /* Monster race index */
-       IDX ap_r_idx;           /* Monster race appearance index */
+       MONRACE_IDX ap_r_idx;   /* Monster race appearance index */
        byte sub_align;         /* Sub-alignment for a neutral monster */
 
        POSITION fy;            /* Y location on map */
@@ -602,7 +597,7 @@ struct monster_type
        HIT_POINT hp;           /* Current Hit points */
        HIT_POINT maxhp;                /* Max Hit points */
        HIT_POINT max_maxhp;            /* Max Max Hit points */
-       u32b dealt_damage;              /* Sum of damages dealt by player */
+       HIT_POINT dealt_damage;         /* Sum of damages dealt by player */
 
        TIME_EFFECT mtimed[MAX_MTIMED]; /* Timed status counter */
 
@@ -969,19 +964,19 @@ struct player_type
        POSITION oldpy;         /* Previous player location -KMW- */
        POSITION oldpx;         /* Previous player location -KMW- */
 
-       CHARACTER_IDX psex;                     /* Sex index */
-       CHARACTER_IDX prace;                    /* Race index */
-       CHARACTER_IDX pclass;           /* Class index */
-       CHARACTER_IDX pseikaku;         /* Seikaku index */
-       REALM_IDX realm1;        /* First magic realm */
-       REALM_IDX realm2;        /* Second magic realm */
-       CHARACTER_IDX oops;                     /* Unused */
+       SEX_IDX psex;           /* Sex index */
+       RACE_IDX prace;         /* Race index */
+       CLASS_IDX pclass;       /* Class index */
+       CHARACTER_IDX pseikaku; /* Seikaku index */
+       REALM_IDX realm1;               /* First magic realm */
+       REALM_IDX realm2;               /* Second magic realm */
+       CHARACTER_IDX oops;             /* Unused */
 
-       DICE_SID hitdie;                /* Hit dice (sides) */
-       u16b expfact;       /* Experience factor
-                            * Note: was byte, causing overflow for Amberite
-                            * characters (such as Amberite Paladins)
-                            */
+       DICE_SID hitdie;        /* Hit dice (sides) */
+       u16b expfact;   /* Experience factor
+                                       * Note: was byte, causing overflow for Amberite
+                                       * characters (such as Amberite Paladins)
+                                       */
 
        s16b age;                       /* Characters age */
        s16b ht;                        /* Height */
@@ -1142,7 +1137,7 @@ struct player_type
        byte knowledge;           /* Knowledge about yourself */
        BIT_FLAGS visit;               /* Visited towns */
 
-       byte start_race;          /* Race at birth */
+       RACE_IDX start_race;          /* Race at birth */
        BIT_FLAGS old_race1;           /* Record of race changes */
        BIT_FLAGS old_race2;           /* Record of race changes */
        s16b old_realm;           /* Record of realm changes */
@@ -1153,7 +1148,7 @@ struct player_type
        s16b today_mon;           /* Wanted monster */
 
        bool dtrap;               /* Whether you are on trap-safe grids */
-       s16b floor_id;            /* Current floor location */ 
+       FLOOR_IDX floor_id;            /* Current floor location */ 
 
        bool autopick_autoregister; /* auto register is in-use or not */
 
@@ -1174,9 +1169,9 @@ struct player_type
 
        IDX health_who; /* Health bar trackee */
 
-       IDX monster_race_idx;   /* Monster race trackee */
+       MONRACE_IDX monster_race_idx;   /* Monster race trackee */
 
-       IDX object_kind_idx;    /* Object kind trackee */
+       KIND_OBJECT_IDX object_kind_idx;        /* Object kind trackee */
 
        s16b new_spells;        /* Number of spells available */
        s16b old_spells;
@@ -1220,6 +1215,7 @@ struct player_type
        ALIGNMENT align;                                /* Good/evil/neutral */
        POSITION run_py;
        POSITION run_px;
+       DIRECTION fishing_dir;
 
 
        /*** Extracted fields ***/
@@ -1335,7 +1331,16 @@ struct player_type
        ACTION_SKILL_POWER skill_dev;   /*!< 行動技能値:魔道具使用 / Skill: Magic Devices */
        ACTION_SKILL_POWER skill_sav;   /*!< 行動技能値:魔法防御 / Skill: Saving throw */
        ACTION_SKILL_POWER skill_stl;   /*!< 行動技能値:隠密 / Skill: Stealth factor */
-       ACTION_SKILL_POWER skill_srh;   /*!< 行動技能値:知覚 / Skill: Searching ability */
+
+       /*! 
+        * 行動技能値:知覚 / Skill: Searching ability
+        * この値はsearch()による地形の隠し要素発見処理などで混乱、盲目、幻覚、無光源などの
+        * 状態異常がない限り、難易度修正などがないままそのままパーセンテージ値として使われる。
+        * 100以上ならば必ず全てのトラップなどを見つけることが出来る。
+        */
+       ACTION_SKILL_POWER skill_srh;
+
+
        ACTION_SKILL_POWER skill_fos;   /*!< 行動技能値:探索 / Skill: Searching frequency */
        ACTION_SKILL_POWER skill_thn;   /*!< 行動技能値:打撃命中能力 / Skill: To hit (normal) */
        ACTION_SKILL_POWER skill_thb;   /*!< 行動技能値:射撃命中能力 / Skill: To hit (shooting) */
@@ -1365,12 +1370,12 @@ typedef struct birther birther;
 
 struct birther
 {
-       byte psex;         /* Sex index */
-       byte prace;        /* Race index */
-       byte pclass;       /* Class index */
-       byte pseikaku;     /* Seikaku index */
-       REALM_IDX realm1;       /* First magic realm */
-       REALM_IDX realm2;       /* Second magic realm */
+       SEX_IDX psex;           /* Sex index */
+       RACE_IDX prace;         /* Race index */
+       CLASS_IDX pclass;       /* Class index */
+       CHARACTER_IDX pseikaku; /* Seikaku index */
+       REALM_IDX realm1;       /* First magic realm */
+       REALM_IDX realm2;       /* Second magic realm */
 
        s16b age;
        s16b ht;
@@ -1456,10 +1461,10 @@ typedef struct building_type building_type;
 struct building_type
 {
        char name[20];                  /* proprietor name */
-       char owner_name[20];            /* proprietor name */
+       GAME_TEXT owner_name[20];            /* proprietor name */
        char owner_race[20];            /* proprietor race */
 
-       char act_names[8][30];          /* action names */
+       GAME_TEXT act_names[8][30];          /* action names */
        PRICE member_costs[8];           /* Costs for class members of building */
        PRICE other_costs[8];               /* Costs for nonguild members */
        char letters[8];                /* action letters */
@@ -1537,7 +1542,7 @@ struct tag_type
        int     index;
 };
 
-typedef bool (*monster_hook_type)(MONRACE_IDX r_idx);
+typedef bool (*monsterrace_hook_type)(MONRACE_IDX r_idx);
 
 
 /*
@@ -1562,19 +1567,12 @@ typedef struct high_score high_score;
 struct high_score
 {
        char what[8];           /* Version info (string) */
-
        char pts[10];           /* Total Score (number) */
-
        char gold[10];          /* Total Gold (number) */
-
        char turns[10];         /* Turns Taken (number) */
-
        char day[10];           /* Time stamp (string) */
-
        char who[16];           /* Player Name (string) */
-
        char uid[8];            /* Player UID (number) */
-
        char sex[2];            /* Player Sex (string) */
        char p_r[3];            /* Player Race (number) */
        char p_c[3];            /* Player Class (number) */
@@ -1658,7 +1656,7 @@ struct dungeon_info_type {
 typedef struct {
        cptr name;          /*!< 自動拾い/破壊定義の名称一致基準 / Items which have 'name' as part of its name match */
        cptr insc;          /*!< 対象となったアイテムに自動で刻む内容 / Items will be auto-inscribed as 'insc' */
-       u32b flag[2];       /*!< キーワードに関する汎用的な条件フラグ / Misc. keyword to be matched */
+       BIT_FLAGS flag[2];       /*!< キーワードに関する汎用的な条件フラグ / Misc. keyword to be matched */
        byte action;        /*!< 対象のアイテムを拾う/破壊/放置するかの指定フラグ / Auto-pickup or Destroy or Leave items */
        byte dice;          /*!< 武器のダイス値基準値 / Weapons which have more than 'dice' dice match */
        byte bonus;         /*!< アイテムのボーナス基準値 / Items which have more than 'bonus' magical bonus match */
@@ -1670,13 +1668,13 @@ typedef struct {
  */
 typedef struct 
 {
-       s16b floor_id;        /* No recycle until 65536 IDs are all used */
-       byte savefile_id;     /* ID for savefile (from 0 to MAX_SAVED_FLOOR) */
+       FLOOR_IDX floor_id;        /* No recycle until 65536 IDs are all used */
+       s16b savefile_id;     /* ID for savefile (from 0 to MAX_SAVED_FLOOR) */
        DEPTH dun_level;
        s32b last_visit;      /* Time count of last visit. 0 for new floor. */
        u32b visit_mark;      /* Older has always smaller mark. */
-       s16b upper_floor_id;  /* a floor connected with level teleportation */
-       s16b lower_floor_id;  /* a floor connected with level tel. and trap door */
+       FLOOR_IDX upper_floor_id;  /* a floor connected with level teleportation */
+       FLOOR_IDX lower_floor_id;  /* a floor connected with level tel. and trap door */
 } saved_floor_type;
 
 
@@ -1685,9 +1683,9 @@ typedef struct
  */
 typedef struct
 {
-       u16b info;
-       s16b feat;
-       s16b mimic;
+       BIT_FLAGS info;
+       FEAT_IDX feat;
+       FEAT_IDX mimic;
        s16b special;
        u16b occurrence;
 } cave_template_type;
@@ -1699,9 +1697,9 @@ typedef struct
  */
 typedef struct
 {
-       s16b r_idx; /*!< 闘技場のモンスター種族ID(0ならば表彰式) / Monster (0 means victory prizing) */
-       byte tval;  /*!< モンスター打倒後に得られるアイテムの大カテゴリID / tval of prize (0 means no prize) */
-       byte sval;  /*!< モンスター打倒後に得られるアイテムの小カテゴリID / sval of prize */
+       MONRACE_IDX r_idx; /*!< 闘技場のモンスター種族ID(0ならば表彰式) / Monster (0 means victory prizing) */
+       OBJECT_TYPE_VALUE tval;  /*!< モンスター打倒後に得られるアイテムの大カテゴリID / tval of prize (0 means no prize) */
+       OBJECT_SUBTYPE_VALUE sval;  /*!< モンスター打倒後に得られるアイテムの小カテゴリID / sval of prize */
 } arena_type;
 
 
@@ -1727,9 +1725,9 @@ typedef struct
 typedef struct {
        int run; /* Remaining grid number */
        int cost[MAX_HGT][MAX_WID];
-       int x; /* Target X */
-       int y; /* Target Y */
-       int dir; /* Running direction */
+       POSITION x; /* Target X */
+       POSITION y; /* Target Y */
+       DIRECTION dir; /* Running direction */
 } travel_type;
 #endif
 
@@ -1740,7 +1738,7 @@ typedef struct {
        s32b value;
        struct {
                int constant;
-               int dice;
+               DICE_NUMBER dice;
        } timeout;
        cptr desc;
 } activation_type;