Hengband
2.2.1
|
ゲーム中に用いる変数型定義 / Basic "types". [詳解]
マクロ定義 | |
#define | INCLUDED_H_TYPE_H |
#define | uint uint_hack |
非マッキントッシュ環境で重複を避けるためのuint_hack型定義 / Hack – prevent problems with non-MACINTOSH [詳解] | |
#define | huge huge_hack |
WINDOWS環境で重複を避けるためのhuge_hack定義 / Hack – prevent problems with WINDOWS [詳解] | |
#define | byte byte_hack |
AMIGA環境で重複を避けるためのbyte_hack定義 / Hack – prevent problems with AMIGA [詳解] | |
#define | bool bool_hack |
C++環境で重複を避けるためのbool_hack定義 Hack – prevent problems with C++ [詳解] | |
#define | MAX_UCHAR 255 |
Maximum value storable in a "byte" (hard-coded) [詳解] | |
#define | MAX_SHORT 32767 |
Maximum value storable in a "s16b" (hard-coded) [詳解] | |
#define | MAX_NLEN 160 |
Maximum length of object's name [詳解] | |
型定義 | |
typedef void * | vptr |
void型ポインタ定義 / A standard pointer (to "void" because ANSI C says so) [詳解] | |
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 [詳解] | |
typedef int | errr |
エラーコードの定義 / Error codes for function return values [詳解] | |
typedef unsigned char | byte |
byte型をunsighned charとして定義 / Note that unsigned values can cause math problems / An unsigned byte of memory [詳解] | |
typedef char | bool |
bool型をcharとして定義 / Note that a bool is smaller than a full "int" / Simple True/False type [詳解] | |
typedef int | sint |
sint型をintとして定義 / A signed, standard integer (at least 2 bytes) [詳解] | |
typedef unsigned int | uint |
typedef unsigned long | huge |
typedef signed short | s16b |
typedef unsigned short | u16b |
typedef signed long | s32b |
typedef unsigned long | u32b |
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 int | MUTATION_IDX |
突然変異のID型を定義 [詳解] | |
typedef s32b | POSITION |
ゲーム中の座標型を定義 [詳解] | |
typedef s16b | POSITION_IDX |
ゲーム中の座標リストID型 [詳解] | |
typedef s32b | ALIGNMENT |
善悪属性の型定義 [詳解] | |
typedef byte | FEAT_SUBTYPE |
地形情報の副値 (トラップ種別/パターン種別/店舗種別) [詳解] | |
typedef char | GAME_TEXT |
ゲーム中のテキスト型定義 [詳解] | |
typedef s32b | HIT_POINT |
HPとその増減量の型定義 [詳解] | |
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 |
ゲーム中の加速値の型定義 [詳解] | |
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 |
スペル用オプション [詳解] | |
typedef real * | real_ptr |
typedef errr * | errr_ptr |
typedef char * | char_ptr |
typedef byte * | byte_ptr |
typedef bool * | bool_ptr |
typedef sint * | sint_ptr |
typedef uint * | uint_ptr |
typedef long * | long_ptr |
typedef huge * | huge_ptr |
typedef s16b * | s16b_ptr |
typedef u16b * | u16b_ptr |
typedef s32b * | s32b_ptr |
typedef u32b * | u32b_ptr |
typedef vptr * | vptr_ptr |
typedef concptr * | cptr_ptr |
typedef errr(* | func_gen) (vptr, vptr) |
typedef bool(* | func_eql) (vptr, vptr) |
typedef sint(* | func_cmp) (vptr, vptr) |
typedef uint(* | func_hsh) (vptr, uint) |
typedef vptr(* | func_key) (vptr) |
ゲーム中に用いる変数型定義 / Basic "types".
Note the attempt to make all basic types have 4 letters. This improves readibility and standardizes the code. Likewise, all complex types are at least 4 letters. Thus, almost every three letter word is a legal variable. But beware of certain reserved words ('for' and 'if' and 'do'). Note that the type used in structures for bit flags should be uint. As long as these bit flags are sequential, they will be space smart. Note that on some machines, apparently "signed char" is illegal. It must be true that char/byte takes exactly 1 byte It must be true that sind/uind takes exactly 2 bytes It must be true that sbig/ubig takes exactly 4 bytes On Sparc's, a sint takes 4 bytes (2 is legal) On Sparc's, a uint takes 4 bytes (2 is legal) On Sparc's, a long takes 4 bytes (8 is legal) On Sparc's, a huge takes 4 bytes (8 is legal) On Sparc's, a vptr takes 4 bytes (8 is legal) On Sparc's, a real takes 8 bytes (4 is legal) Note that some files have already been included by "h-include.h" These include <stdio.h> and <sys/types>, which define some types In particular, uint is defined so we do not have to define it Also, see <limits.h> for min/max values for sind, uind, long, huge (SHRT_MIN, SHRT_MAX, USHRT_MAX, LONG_MIN, LONG_MAX, ULONG_MAX) These limits should be verified and coded into "h-constant.h".
#define bool bool_hack |
C++環境で重複を避けるためのbool_hack定義 Hack – prevent problems with C++
#define byte byte_hack |
AMIGA環境で重複を避けるためのbyte_hack定義 / Hack – prevent problems with AMIGA
#define huge huge_hack |
WINDOWS環境で重複を避けるためのhuge_hack定義 / Hack – prevent problems with WINDOWS
#define INCLUDED_H_TYPE_H |
#define MAX_NLEN 160 |
Maximum length of object's name
#define MAX_SHORT 32767 |
Maximum value storable in a "s16b" (hard-coded)
#define MAX_UCHAR 255 |
Maximum value storable in a "byte" (hard-coded)
#define uint uint_hack |
非マッキントッシュ環境で重複を避けるためのuint_hack型定義 / Hack – prevent problems with non-MACINTOSH
typedef s16b ACTION_ENERGY |
ゲーム中の行動エネルギー型を定義
typedef s32b ACTION_IDX |
プレイヤーが現在取っている常時行動のID定義
typedef s16b ACTION_SKILL_POWER |
行動技能値
typedef s16b ACTIVATION_IDX |
アイテムの発動効果ID型を定義
typedef s16b ARMOUR_CLASS |
ゲーム中の行動アーマークラス型を定義
typedef int ARTIFACT_BIAS_IDX |
ランダムアーティファクトのバイアス型
typedef s16b ARTIFACT_IDX |
ゲーム中のアーティファクトID型を定義
typedef s16b BACT_RESTRICT_IDX |
町の施設処理の規制処理ID定義
typedef s16b BASE_STATUS |
ゲーム中の基礎能力値型を定義
typedef u16b BIT_FLAGS16 |
16ビットのフラグ配列の型定義
typedef byte BIT_FLAGS8 |
8ビットのフラグ配列の型定義
typedef byte BLOW_EFFECT |
モンスターの打撃効果ID
typedef byte BLOW_METHOD |
モンスターの打撃手段ID
typedef char bool |
bool型をcharとして定義 / Note that a bool is smaller than a full "int" / Simple True/False type
typedef unsigned char byte |
byte型をunsighned charとして定義 / Note that unsigned values can cause math problems / An unsigned byte of memory
typedef char* char_ptr |
typedef s16b CHARACTER_IDX |
ゲーム中のプレイヤー性格ID型を定義
typedef s16b COMMAND_ARG |
コマンド引数の型定義
typedef s16b COMMAND_CODE |
コマンド内容の型定義
typedef s16b COMMAND_NUM |
コマンド数の型定義
typedef const char* concptr |
文字列定数用ポインタ定義 / A simple pointer (to unmodifiable strings)
typedef int DICE_NUMBER |
ゲーム中のダイス数の型定義
typedef int DICE_SID |
ゲーム中のダイス面の型定義
typedef int DIRECTION |
ゲーム中の方角の型定義
typedef byte DISCOUNT_RATE |
ゲーム中の値引き率の型を定義
typedef s16b DUNGEON_IDX |
ゲーム中のダンジョンID型を定義
typedef int EFFECT_ID |
効果属性ID
typedef int errr |
エラーコードの定義 / Error codes for function return values
一般に成功時0、失敗時負数、何らかの問題時整数とする。 Success = 0, Failure = -N, Problem = +N
typedef s32b ESSENCE_IDX |
鍛冶エッセンスのID型
typedef byte FEAT_POWER |
地形強度の型定義
typedef s16b FEAT_PRIORITY |
地形の縮小表示優先順位
typedef byte FEAT_SUBTYPE |
地形情報の副値 (トラップ種別/パターン種別/店舗種別)
typedef byte FF_FLAGS_IDX |
地形特性ID
typedef char GAME_TEXT |
ゲーム中のテキスト型定義
typedef int HIT_RELIABILITY |
最終算出命中力を定義
typedef unsigned long huge |
typedef s16b INVENTORY_IDX |
ゲーム中の所持品ID型を定義
typedef s32b ITEM_NUMBER |
ゲーム中のアイテム数型を定義
typedef s16b KIND_OBJECT_IDX |
ゲーム中のベースアイテムID型を定義
typedef long* long_ptr |
typedef s32b MAGIC_NUM1 |
プレイヤーの汎用魔法情報配列1の型定義
typedef byte MAGIC_NUM2 |
プレイヤーの汎用魔法情報配列2の型定義
typedef s32b MANA_POINT |
ゲーム中のMP型を定義
MPとその増減量の型定義
MANA_POINTはプレイヤーのMPの各地とその増減量の型である。
typedef s16b MIMIC_RACE_IDX |
ゲーム中のプレイヤー変身種族ID型を定義
typedef s16b MONRACE_IDX |
ゲーム中のモンスター種族ID型を定義
typedef s16b MONSTER_IDX |
ゲーム中のモンスター個体ID型を定義
typedef s32b MONSTER_NUMBER |
ゲーム中のモンスター数型を定義
typedef int MUTATION_IDX |
突然変異のID型を定義
typedef s16b OBJECT_IDX |
ゲーム中のアイテムID型を定義
typedef s32b OBJECT_SUBTYPE_VALUE |
ゲーム中のアイテム副分類の型定義
typedef s32b OBJECT_TYPE_VALUE |
ゲーム中のアイテム主分類の型定義
typedef s16b PARAMETER_VALUE |
ゲーム中のアイテム能力値の型定義
typedef s16b PATRON_IDX |
ゲーム中のプレイヤーパトロンID型を定義
typedef s32b PERCENTAGE |
ゲーム中のパーセント表記の型定義(/100倍)
typedef int PET_COMMAND_IDX |
ペットへの指示ID
typedef s16b PLAYER_LEVEL |
ゲーム中のプレイヤーレベルの型を定義
typedef s16b POSITION_IDX |
ゲーム中の座標リストID型
typedef int POWER |
魔法の効力定義
typedef int QUANTITY |
インターフェース上の指定個数
typedef s16b QUEST_STATUS |
クエストの状態ID
typedef s16b QUEST_TYPE |
クエストの種別ID
typedef double real |
doubleをreal型として定義 / Since float's are silly, hard code real numbers as doubles
typedef signed short s16b |
typedef signed long s32b |
typedef int sint |
sint型をintとして定義 / A signed, standard integer (at least 2 bytes)
typedef s16b SLEEP_DEGREE |
モンスターの睡眠度の型定義
typedef BIT_FLAGS SPOP_FLAGS |
スペル用オプション
typedef u32b STR_OFFSET |
テキストオフセットの型定義
typedef char SYMBOL_CODE |
キャラの文字の型定義
typedef byte TERM_COLOR |
テキスト表示色の型定義
typedef int TERM_LEN |
コンソール表示座標の型定義
typedef s16b TIME_EFFECT |
ゲーム中の時限期間の型を定義
typedef unsigned short u16b |
typedef unsigned long u32b |
typedef unsigned int uint |
typedef s16b VIRTUES_IDX |
ゲーム中の徳ID型を定義
typedef void* vptr |
void型ポインタ定義 / A standard pointer (to "void" because ANSI C says so)