OSDN Git Service

[Refactor] #37353 spells.hにスペルに関する共通定義を追加。。 / Add common definition to spells.h.
[hengband/hengband.git] / src / h-type.h
index a6bcc99..4d4d6d6 100644 (file)
@@ -1,8 +1,7 @@
 /*!
  * @file h-type.h
- * @brief ゲーム中に用いる変数型定義 /
- * Basic "types".
- * @date 2014/08/17
+ * @brief ゲーム中に用いる変数型定義 / Basic "types".
+ * @date 2017/12/03
  * @author
  * 不明(変愚蛮怒スタッフ?)
  * @details
@@ -43,7 +42,7 @@
 /*** Special 4 letter names for some standard types ***/
 
 typedef void *vptr;       /*!< void型ポインタ定義 / A standard pointer (to "void" because ANSI C says so) */
-typedef const char *cptr; /*!< 文字列定数用ポインタ定義 / A simple pointer (to unmodifiable strings) */
+typedef const char *concptr; /*!< 文字列定数用ポインタ定義 / A simple pointer (to unmodifiable strings) */
 typedef double real;      /*!< doubleをreal型として定義 / Since float's are silly, hard code real numbers as doubles */
 
 
@@ -104,17 +103,158 @@ typedef unsigned long u32b;
 #endif
 
 
-typedef s16b idx;                      /*!< ゲーム中のID型を定義 */
-typedef byte position;         /*!< ゲーム中の座標型を定義 */
-typedef s16b hit_point;                /*!< ゲーム中のHP/ダメージ型を定義 */
-typedef s16b hit_prob;         /*!< ゲーム中の命中修正値を定義 */
-typedef s16b base_status;      /*!< ゲーム中の基礎能力値型を定義 */
-typedef byte item_number;      /*!< ゲーム中のアイテム数型を定義 */
-typedef s16b action_energy;    /*!< ゲーム中の行動エネルギー型を定義 */
-typedef s16b armour_class;     /*!< ゲーム中の行動アーマークラス型を定義 */
-typedef s16b time_effect;   /*!< ゲーム中の時限期間の型を定義 */
-typedef byte character_idx; /*!< ゲーム中のキャラクター特性各種IDの型を定義 */
-typedef byte discount_rate; /*!< ゲーム中の値引き率の型を定義 */
+typedef s16b IDX;                              /*!< ゲーム中のID型を定義 */
+
+typedef s16b TOWN_IDX;                 /*!< ゲーム中の町ID型を定義 */
+typedef s16b FEAT_IDX;                 /*!< ゲーム中の地形ID型を定義 */
+typedef s16b FLOOR_IDX;                        /*!< ゲーム中のフロアID型を定義 */
+
+typedef byte SEX_IDX;                  /*!< ゲーム中のプレイヤー性別ID型を定義 */
+typedef s16b RACE_IDX;                 /*!< ゲーム中のプレイヤー種族ID型を定義 */
+typedef s16b CLASS_IDX;                        /*!< ゲーム中のプレイヤー職業ID型を定義 */
+typedef s16b CHARACTER_IDX;            /*!< ゲーム中のプレイヤー性格ID型を定義 */
+typedef s16b MIMIC_RACE_IDX;   /*!< ゲーム中のプレイヤー変身種族ID型を定義 */
+typedef s16b PATRON_IDX;               /*!< ゲーム中のプレイヤーパトロンID型を定義 */
+typedef s32b ACTION_IDX;               /*!< プレイヤーが現在取っている常時行動のID定義 */
+typedef s16b BACT_IDX;                 /*!< 町の施設処理のID定義 */
+typedef s16b BACT_RESTRICT_IDX;        /*!< 町の施設処理の規制処理ID定義 */
+
+typedef s16b MONRACE_IDX;              /*!< ゲーム中のモンスター種族ID型を定義 */
+typedef s16b MONSTER_IDX;              /*!< ゲーム中のモンスター個体ID型を定義 */
+typedef s16b DUNGEON_IDX;              /*!< ゲーム中のダンジョンID型を定義 */
+typedef s16b REALM_IDX;                        /*!< ゲーム中の魔法領域ID型を定義 */
+typedef s16b ARTIFACT_IDX;             /*!< ゲーム中のアーティファクトID型を定義 */
+typedef s16b EGO_IDX;                  /*!< アイテムエゴのID型を定義 */
+typedef s16b ACTIVATION_IDX;   /*!< アイテムの発動効果ID型を定義 */
+typedef s16b VIRTUES_IDX;              /*!< ゲーム中の徳ID型を定義 */
+typedef s16b QUEST_IDX;                        /*!< ゲーム中のクエストID型を定義 */
+typedef byte ROOM_IDX;                 /*!< 部屋のID型を定義 */
+
+typedef s16b INVENTORY_IDX;            /*!< ゲーム中の所持品ID型を定義 */
+typedef s16b OBJECT_IDX;               /*!< ゲーム中のアイテムID型を定義 */
+typedef s32b ESSENCE_IDX;              /*!< 鍛冶エッセンスのID型 */
+typedef s16b KIND_OBJECT_IDX;  /*!< ゲーム中のベースアイテムID型を定義 */
+typedef s16b VAULT_IDX;                        /*!< 固定部屋のID型を定義 */
+
+typedef s32b POSITION;                 /*!< ゲーム中の座標型を定義 */
+typedef s16b POSITION_IDX;             /*!< ゲーム中の座標リストID型 */
+
+typedef s32b ALIGNMENT;                /*!< 善悪属性の型定義 */
+typedef byte FEAT_SUBTYPE;     /*!< 地形情報の副値 (トラップ種別/パターン種別/店舗種別)*/
+
+typedef char GAME_TEXT;                /*!< ゲーム中のテキスト型定義 */
+
+
+/*!
+ * @var typedef s32b HIT_POINT
+ * @brief HPとその増減量の型定義
+ * @details 
+ * HIT_POINTはプレイヤー及びモンスターのHPの各値とその増減量の型である。
+ */
+typedef s32b HIT_POINT;
+
+/*!
+ * @var typedef s32b MANA_POINT
+ * @brief MPとその増減量の型定義
+ * @details
+ * MANA_POINTはプレイヤーのMPの各地とその増減量の型である。
+ */
+typedef s32b MANA_POINT;               /*!< ゲーム中のMP型を定義 */
+
+typedef int ARTIFACT_BIAS_IDX;  /*!< ランダムアーティファクトのバイアス型 */
+
+typedef s16b HIT_PROB;                 /*!< ゲーム中の装備命中修正値を定義 */
+typedef int HIT_RELIABILITY;   /*!< 最終算出命中力を定義 */
+typedef s16b BASE_STATUS;              /*!< ゲーム中の基礎能力値型を定義 */
+
+typedef s32b MONSTER_NUMBER;   /*!< ゲーム中のモンスター数型を定義 */
+typedef s32b ITEM_NUMBER;              /*!< ゲーム中のアイテム数型を定義 */
+
+typedef s16b ACTION_ENERGY;            /*!< ゲーム中の行動エネルギー型を定義 */
+typedef s16b ARMOUR_CLASS;             /*!< ゲーム中の行動アーマークラス型を定義 */
+typedef s16b TIME_EFFECT;              /*!< ゲーム中の時限期間の型を定義 */
+typedef byte DISCOUNT_RATE;            /*!< ゲーム中の値引き率の型を定義 */
+typedef s16b SPEED;                            /*!< ゲーム中の加速値の型定義 */
+
+/*!
+ * @var typedef s16b ENEGRY
+ * @brief 行動エネルギーの型定義
+ * @details
+ * ENERGYはプレイヤーとモンスターの行動順を定める行動エネルギーを示す型定義である。
+ */
+typedef s16b ENERGY;                   /*!< ゲーム中の行動エネルギーの型定義 */
+
+
+typedef s16b SLEEP_DEGREE;             /*!< モンスターの睡眠度の型定義 */
+
+typedef s16b PLAYER_LEVEL;             /*!< ゲーム中のプレイヤーレベルの型を定義 */
+typedef int DIRECTION;                 /*!< ゲーム中の方角の型定義 */
+typedef s32b EXP;                              /*!< ゲーム中の主経験値の型定義 */
+typedef s16b SUB_EXP;                  /*!< ゲーム中の副経験値の型定義 */
+
+typedef s32b OBJECT_TYPE_VALUE;    /*!< ゲーム中のアイテム主分類の型定義 */
+typedef s32b OBJECT_SUBTYPE_VALUE; /*!< ゲーム中のアイテム副分類の型定義 */
+typedef s16b PARAMETER_VALUE;      /*!< ゲーム中のアイテム能力値の型定義 */
+typedef s32b WEIGHT;               /*!< ゲーム中の重量の型定義(ポンド) */
+
+typedef int DICE_NUMBER; /*!< ゲーム中のダイス数の型定義 */
+typedef int DICE_SID;    /*!< ゲーム中のダイス面の型定義 */
+typedef s32b PRICE;      /*!< ゲーム中の金額価値の型定義 */
+typedef s16b FEED;       /*!< ゲーム中の滋養度の型定義 */
+
+typedef u32b STR_OFFSET;      /*!< テキストオフセットの型定義 */
+
+typedef int POWER;             /*!< 魔法の効力定義*/
+
+typedef s32b DEPTH;     /*!< ゲーム中の階層レベルの型定義 */
+typedef byte RARITY;    /*!< ゲーム中の希少度の型定義 */
+
+typedef s32b GAME_TURN;     /*!< ゲーム中のターンの型定義 */
+typedef u32b REAL_TIME;     /*!< 実時刻の型定義 */
+
+typedef s32b PERCENTAGE;    /*!< ゲーム中のパーセント表記の型定義(/100倍) */
+typedef s16b MULTIPLY;      /*!< ゲーム中の倍率の型定義(/10倍) */
+
+typedef u32b BIT_FLAGS;     /*!< 32ビットのフラグ配列の型定義 */
+typedef u16b BIT_FLAGS16;   /*!< 16ビットのフラグ配列の型定義 */
+typedef byte BIT_FLAGS8;    /*!< 8ビットのフラグ配列の型定義 */
+
+typedef s16b XTRA16;     /*!< 汎用変数16ビットの型定義 */
+typedef byte XTRA8;      /*!< 汎用変数8ビットの型定義 */
+
+typedef s16b COMMAND_CODE;   /*!< コマンド内容の型定義 */
+typedef s16b COMMAND_ARG;       /*!< コマンド引数の型定義 */
+typedef s16b COMMAND_NUM;       /*!< コマンド数の型定義 */
+
+typedef int TERM_LEN;     /*!< コンソール表示座標の型定義 */
+typedef byte TERM_COLOR;  /*!< テキスト表示色の型定義 */
+typedef char SYMBOL_CODE; /*!< キャラの文字の型定義 */
+
+typedef s32b MAGIC_NUM1;   /*!< プレイヤーの汎用魔法情報配列1の型定義*/
+typedef byte MAGIC_NUM2;   /*!< プレイヤーの汎用魔法情報配列2の型定義*/
+
+typedef s32b SPELL_IDX;    /*!< 各魔法領域/職業能力ごとの呪文ID型定義 */
+typedef s16b PROB;         /*!< 確率の重みの型定義 */
+typedef byte FEAT_POWER;   /*!< 地形強度の型定義 */
+
+typedef int QUANTITY; /*!< インターフェース上の指定個数 */
+
+typedef byte BLOW_METHOD; /*!< モンスターの打撃手段ID */
+typedef byte BLOW_EFFECT; /*!< モンスターの打撃効果ID */
+
+typedef int EFFECT_ID; /*!< 効果属性ID */
+
+typedef s16b QUEST_TYPE;   /*!< クエストの種別ID */
+typedef s16b QUEST_STATUS; /*!< クエストの状態ID */
+
+typedef s16b ACTION_SKILL_POWER; /*!< 行動技能値 */
+
+typedef int PET_COMMAND_IDX; /*!< ペットへの指示ID */
+typedef byte FF_FLAGS_IDX;   /*!< 地形特性ID */
+
+typedef s16b FEAT_PRIORITY; /*!< 地形の縮小表示優先順位 */
+
+typedef BIT_FLAGS SPOP_FLAGS; /*1< スペル用オプション */
 
 /*** Pointers to all the basic types defined above ***/
 
@@ -132,7 +272,7 @@ typedef u16b *u16b_ptr;
 typedef s32b *s32b_ptr;
 typedef u32b *u32b_ptr;
 typedef vptr *vptr_ptr;
-typedef cptr *cptr_ptr;
+typedef concptr *cptr_ptr;