OSDN Git Service

[Refactor] #37353 macro__* の実体を util.c へ移動.
[hengband/hengband.git] / src / variable.c
1 /*!
2  * @file variable.c
3  * @brief グローバル変数定義 / Angband variables
4  * @date 2014/10/05
5  * @author
6  * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke<br>
7  * <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>
11  */
12
13 #include "angband.h"
14 #include "geometry.h"
15
16 s16b command_cmd;               /* Current "Angband Command" */
17
18 COMMAND_ARG command_arg;        /*!< 各種コマンドの汎用的な引数として扱う / Gives argument of current command */
19 COMMAND_NUM command_rep;        /*!< 各種コマンドの汎用的なリピート数として扱う / Gives repetition of current command */
20 DIRECTION command_dir;          /*!< 各種コマンドの汎用的な方向値処理として扱う/ Gives direction of current command */
21
22 s16b command_see;               /* See "object1.c" */
23 s16b command_wrk;               /* See "object1.c" */
24
25 TERM_LEN command_gap = 999;         /* See "object1.c" */
26
27 s16b command_new;               /* Command chaining from inven/equip view */
28
29 bool msg_flag;                  /* Used in msg_print() for "buffering" */
30
31 s16b running;                   /* Current counter for running, if any */
32
33 s16b signal_count;              /* Hack -- Count interupts */
34
35 bool get_com_no_macros = FALSE; /* Expand macros in "get_com" or not */
36
37 OBJECT_SUBTYPE_VALUE coin_type; /* Hack -- force coin type */
38
39 bool repair_monsters;   /* Hack -- optimize detect monsters */
40 bool repair_objects;    /* Hack -- optimize detect objects */
41
42 MONSTER_IDX hack_m_idx = 0;     /* Hack -- see "process_monsters()" */
43 MONSTER_IDX hack_m_idx_ii = 0;
44
45 bool multi_rew = FALSE;
46
47 int total_friends = 0;
48
49 bool reinit_wilderness = FALSE;
50
51 /*
52  * Dungeon size info
53  */
54
55 POSITION panel_row_min, panel_row_max;
56 POSITION panel_col_min, panel_col_max;
57 POSITION panel_col_prt, panel_row_prt;
58
59
60 /*
61  * Targetting variables
62  */
63 MONSTER_IDX target_who;
64 POSITION target_col;
65 POSITION target_row;
66
67
68 /*
69  * User info
70  */
71 int player_uid;
72 int player_euid;
73 int player_egid;
74
75 /*
76  * Stripped version of "player_name"
77  */
78 char player_base[32];
79
80
81 /*
82  * Buffer to hold the current savefile name
83  * 'savefile' holds full path name. 'savefile_base' holds only base name.
84  */
85 char savefile[1024];
86 char savefile_base[40];
87
88
89 pos_list tmp_pos;
90
91 /*
92  * The number of quarks
93  */
94 STR_OFFSET quark__num;
95
96 /*
97  * The pointers to the quarks [QUARK_MAX]
98  */
99 concptr *quark__str;
100
101 /*
102  * The array of window pointers
103  */
104 term *angband_term[8];
105
106 /*
107  * Sign for current process used in temporal files.
108  * Actually it is the start time of current process.
109  */
110 u32b saved_floor_file_sign;
111
112
113 /*
114  * Keymaps for each "mode" associated with each keypress.
115  */
116 concptr keymap_act[KEYMAP_MODES][256];
117
118
119
120 /*** Player information ***/
121
122 /*
123  * Static player info record
124  */
125 player_type p_body;
126
127 /*
128  * Pointer to the player info
129  */
130 player_type *p_ptr = &p_body;
131
132
133 /*
134  * Here is a "pseudo-hook" used during calls to "get_item()" and
135  * "show_inven()" and "show_equip()", and the choice window routines.
136  */
137 OBJECT_TYPE_VALUE item_tester_tval;
138
139
140 /*
141  * Here is a "hook" used during calls to "get_item()" and
142  * "show_inven()" and "show_equip()", and the choice window routines.
143  */
144 bool (*item_tester_hook)(object_type*);
145
146
147 /*
148  * Hack -- function hook to restrict "get_obj_num_prep()" function
149  */
150 bool (*get_obj_num_hook)(KIND_OBJECT_IDX k_idx);
151
152
153 /*
154  * The "highscore" file descriptor, if available.
155  */
156 int highscore_fd = -1;
157
158 bool can_save = FALSE;        /* Game can be saved */
159
160
161 MONSTER_IDX pet_t_m_idx;
162 MONSTER_IDX riding_t_m_idx;
163
164 MONSTER_IDX today_mon;
165
166 u32b start_time;
167
168 bool sukekaku;
169 bool new_mane;
170
171 /*
172  * Which dungeon ?
173  */
174 DEPTH *max_dlv;
175
176 COMMAND_CODE now_message;
177 bool use_menu;
178
179 #ifdef CHUUKEI
180 bool chuukei_server;
181 bool chuukei_client;
182 char *server_name;
183 int server_port;
184 #endif
185
186 /* for movie */
187 bool browsing_movie;
188
189
190 /* for snipers */
191 bool reset_concent = FALSE;   /* Concentration reset flag */
192
193