グローバルな構造体の定義 / global type declarations [詳細]
データ構造 | |
struct | feature_state |
struct | feature_type |
地形情報の構造体 / Information about terrain "features" [詳細] | |
struct | object_kind |
ベースアイテム情報の構造体 / Information about object "kinds", including player knowledge. [詳細] | |
struct | artifact_type |
固定アーティファクト情報の構造体 / Artifact structure. [詳細] | |
struct | ego_item_type |
struct | monster_blow |
struct | mbe_info_type |
struct | monster_race |
struct | vault_type |
struct | skill_table |
struct | cave_type |
struct | coord |
struct | object_type |
struct | monster_type |
struct | alloc_entry |
struct | option_type |
struct | quest_type |
struct | owner_type |
struct | store_type |
struct | magic_type |
struct | player_magic |
struct | player_sex |
struct | player_race |
struct | player_class |
struct | player_seikaku |
struct | player_type |
struct | birther |
struct | martial_arts |
struct | kamae |
struct | mind_type |
struct | mind_power |
struct | monster_power |
struct | building_type |
struct | border_type |
struct | wilderness_type |
struct | town_type |
struct | dun_type |
struct | tag_type |
struct | high_score |
struct | feat_prob |
struct | dungeon_info_type |
struct | autopick_type |
自動拾い/破壊設定データの構造体 / A structure type for entry of auto-picker/destroyer [詳細] | |
struct | saved_floor_type |
struct | cave_template_type |
struct | arena_type |
闘技場のモンスターエントリー構造体 / A structure type for arena entry [詳細] | |
struct | door_type |
struct | activation_type |
struct | dragonbreath_type |
グローバルな構造体の定義 / global type declarations
このファイルはangband.hでのみインクルードすること。 This file should ONLY be included by "angband.h"
Note that "char" may or may not be signed, and that "signed char" may or may not work on all machines. So always use "s16b" or "s32b" for signed values. Also, note that unsigned values cause math problems in many cases, so try to only use "u16b" and "u32b" for "bit flags", unless you really need the extra bit of information, or you really need to restrict yourself to a single byte for storage reasons.
Also, if possible, attempt to restrict yourself to sub-fields of known size (use "s16b" or "s32b" instead of "int", and "byte" instead of "bool"), and attempt to align all fields along four-byte words, to optimize storage issues on 32-bit machines. Also, avoid "bit flags" since these increase the code size and slow down execution. When you need to store bit flags, use one byte per flag, or, where space is an issue, use a "byte" or "u16b" or "u32b", and add special code to access the various bit flags.
Many of these structures were developed to reduce the number of global variables, facilitate structured program design, allow the use of ascii template files, simplify access to indexed data, or facilitate efficient clearing of many variables at once.
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 of these could be removed, but this would, in general, slow down the game and increase the complexity of the code.
typedef struct alloc_entry alloc_entry |
typedef struct artifact_type artifact_type |
typedef struct border_type border_type |
typedef struct building_type building_type |
typedef struct dungeon_info_type dungeon_info_type |
typedef struct ego_item_type ego_item_type |
typedef struct feature_state feature_state |
typedef struct feature_type feature_type |
typedef struct high_score high_score |
typedef int(* inven_func)(object_type *) |
typedef struct magic_type magic_type |
typedef struct martial_arts martial_arts |
typedef struct mbe_info_type mbe_info_type |
typedef struct mind_power mind_power |
typedef struct monster_blow monster_blow |
typedef bool(* monster_hook_type)(int r_idx) |
typedef struct monster_power monster_power |
typedef struct monster_race monster_race |
typedef struct monster_type monster_type |
typedef struct object_kind object_kind |
typedef struct object_type object_type |
typedef struct option_type option_type |
typedef struct owner_type owner_type |
typedef struct player_class player_class |
typedef struct player_magic player_magic |
typedef struct player_race player_race |
typedef struct player_seikaku player_seikaku |
typedef struct player_sex player_sex |
typedef struct player_type player_type |
typedef struct quest_type quest_type |
typedef struct skill_table skill_table |
typedef struct store_type store_type |
typedef struct vault_type vault_type |
typedef struct wilderness_type wilderness_type |