3 * @brief グローバル変数定義 / Angband variables
6 * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke<br>
8 * This software may be copied and distributed for educational, research,<br>
9 * and not for profit purposes provided that this copyright and statement<br>
10 * are included in all such copies. Other copyrights may also apply.<br>
16 int level_up = 0; /*!< レベルアップの際に遅延してcalc_mana()関数上で上昇量を表示するかどうかの判定フラグ */
21 bool character_generated; /* The character exists */
22 bool character_dungeon; /* The character has a dungeon */
23 bool character_loaded; /* The character was loaded from a savefile */
24 bool character_saved; /* The character was just saved to a savefile */
26 bool character_icky; /* The game is in an icky full screen mode */
27 bool character_xtra; /* The game is in an icky startup mode */
29 bool creating_savefile; /* New savefile is currently created */
31 s16b command_cmd; /* Current "Angband Command" */
33 COMMAND_ARG command_arg; /*!< 各種コマンドの汎用的な引数として扱う / Gives argument of current command */
34 COMMAND_NUM command_rep; /*!< 各種コマンドの汎用的なリピート数として扱う / Gives repetition of current command */
35 DIRECTION command_dir; /*!< 各種コマンドの汎用的な方向値処理として扱う/ Gives direction of current command */
37 s16b command_see; /* See "object1.c" */
38 s16b command_wrk; /* See "object1.c" */
40 TERM_LEN command_gap = 999; /* See "object1.c" */
42 s16b command_new; /* Command chaining from inven/equip view */
44 bool msg_flag; /* Used in msg_print() for "buffering" */
46 s16b running; /* Current counter for running, if any */
50 s16b signal_count; /* Hack -- Count interupts */
52 bool inkey_base; /* See the "inkey()" function */
53 bool inkey_xtra; /* See the "inkey()" function */
54 bool inkey_scan; /* See the "inkey()" function */
55 bool inkey_flag; /* See the "inkey()" function */
56 bool get_com_no_macros = FALSE; /* Expand macros in "get_com" or not */
58 OBJECT_SUBTYPE_VALUE coin_type; /* Hack -- force coin type */
60 bool repair_monsters; /* Hack -- optimize detect monsters */
61 bool repair_objects; /* Hack -- optimize detect objects */
63 MONSTER_IDX hack_m_idx = 0; /* Hack -- see "process_monsters()" */
64 MONSTER_IDX hack_m_idx_ii = 0;
66 bool multi_rew = FALSE;
68 int total_friends = 0;
69 int leaving_quest = 0;
70 bool reinit_wilderness = FALSE;
76 POSITION panel_row_min, panel_row_max;
77 POSITION panel_col_min, panel_col_max;
78 POSITION panel_col_prt, panel_row_prt;
82 * Targetting variables
84 MONSTER_IDX target_who;
97 * Stripped version of "player_name"
103 * Buffer to hold the current savefile name
104 * 'savefile' holds full path name. 'savefile_base' holds only base name.
107 char savefile_base[40];
114 * Number of active macros.
119 * Array of macro patterns [MACRO_MAX]
124 * Array of macro actions [MACRO_MAX]
129 * Array of macro types [MACRO_MAX]
134 * Current macro action [1024]
140 * The number of quarks
142 STR_OFFSET quark__num;
145 * The pointers to the quarks [QUARK_MAX]
150 * The array of window pointers
152 term *angband_term[8];
155 * Standard window names
157 const char angband_term_name[8][16] =
171 * Global table of color definitions
173 byte angband_color_table[256][4] =
175 {0x00, 0x00, 0x00, 0x00}, /* TERM_DARK */
176 {0x00, 0xFF, 0xFF, 0xFF}, /* TERM_WHITE */
177 {0x00, 0x80, 0x80, 0x80}, /* TERM_SLATE */
178 {0x00, 0xFF, 0x80, 0x00}, /* TERM_ORANGE */
179 {0x00, 0xC0, 0x00, 0x00}, /* TERM_RED */
180 {0x00, 0x00, 0x80, 0x40}, /* TERM_GREEN */
181 {0x00, 0x00, 0x00, 0xFF}, /* TERM_BLUE */
182 {0x00, 0x80, 0x40, 0x00}, /* TERM_UMBER */
183 {0x00, 0x40, 0x40, 0x40}, /* TERM_L_DARK */
184 {0x00, 0xC0, 0xC0, 0xC0}, /* TERM_L_WHITE */
185 {0x00, 0xFF, 0x00, 0xFF}, /* TERM_VIOLET */
186 {0x00, 0xFF, 0xFF, 0x00}, /* TERM_YELLOW */
187 {0x00, 0xFF, 0x00, 0x00}, /* TERM_L_RED */
188 {0x00, 0x00, 0xFF, 0x00}, /* TERM_L_GREEN */
189 {0x00, 0x00, 0xFF, 0xFF}, /* TERM_L_BLUE */
190 {0x00, 0xC0, 0x80, 0x40} /* TERM_L_UMBER */
195 * Standard sound names
197 const concptr angband_sound_name[SOUND_MAX] =
269 * Standard music names
271 const concptr angband_music_basic_name[MUSIC_BASIC_MAX] =
298 * Number of floor_id used from birth
300 FLOOR_IDX max_floor_id;
303 * Sign for current process used in temporal files.
304 * Actually it is the start time of current process.
306 u32b saved_floor_file_sign;
310 * Keymaps for each "mode" associated with each keypress.
312 concptr keymap_act[KEYMAP_MODES][256];
316 /*** Player information ***/
319 * Static player info record
324 * Pointer to the player info
326 player_type *p_ptr = &p_body;
330 * Here is a "pseudo-hook" used during calls to "get_item()" and
331 * "show_inven()" and "show_equip()", and the choice window routines.
333 OBJECT_TYPE_VALUE item_tester_tval;
337 * Here is a "hook" used during calls to "get_item()" and
338 * "show_inven()" and "show_equip()", and the choice window routines.
340 bool (*item_tester_hook)(object_type*);
346 * Hack -- function hooks to restrict "get_mon_num_prep()" function
348 monsterrace_hook_type get_mon_num_hook;
349 monsterrace_hook_type get_mon_num2_hook;
353 * Hack -- function hook to restrict "get_obj_num_prep()" function
355 bool (*get_obj_num_hook)(KIND_OBJECT_IDX k_idx);
358 * Flags for initialization
364 * The "highscore" file descriptor, if available.
366 int highscore_fd = -1;
368 bool can_save = FALSE; /* Game can be saved */
371 MONSTER_IDX pet_t_m_idx;
372 MONSTER_IDX riding_t_m_idx;
374 MONSTER_IDX today_mon;
381 concptr screen_dump = NULL;
389 COMMAND_CODE now_message;
404 bool reset_concent = FALSE; /* Concentration reset flag */
405 bool is_fired = FALSE;