3 * @brief Angband(変愚蛮怒)基本関数、グローバル変数ヘッダファイル /
4 * extern declarations (variables and functions)
7 * Copyright (c) 1997 Ben Harrison
9 * This software may be copied and distributed for educational, research,
10 * and not for profit purposes provided that this copyright and statement
11 * are included in all such copies.
12 * Note that some files have their own header files
13 * (z-virt.h, z-util.h, z-form.h, term.h, random.h)
17 #include "floor-save.h"
19 #include "monsterrace.h"
21 #include "player-status.h"
24 * Automatically generated "variable" declarations
26 extern int max_macrotrigger;
27 extern concptr macro_template;
28 extern concptr macro_modifier_chr;
29 extern concptr macro_modifier_name[MAX_MACRO_MOD];
30 extern concptr macro_trigger_name[MAX_MACRO_TRIG];
31 extern concptr macro_trigger_keycode[2][MAX_MACRO_TRIG];
37 extern const POSITION ddd[9];
38 extern const POSITION ddx[10];
39 extern const POSITION ddy[10];
40 extern const POSITION ddx_ddd[9];
41 extern const POSITION ddy_ddd[9];
42 extern const POSITION cdd[8];
43 extern const POSITION ddx_cdd[8];
44 extern const POSITION ddy_cdd[8];
45 extern const char hexsym[16];
46 extern const char listsym[];
47 extern const concptr color_char;
48 extern const byte adj_mag_study[];
49 extern const byte adj_mag_mana[];
50 extern const byte adj_mag_fail[];
51 extern const byte adj_mag_stat[];
52 extern const byte adj_chr_gold[];
53 extern const byte adj_int_dev[];
54 extern const byte adj_wis_sav[];
55 extern const byte adj_dex_dis[];
56 extern const byte adj_int_dis[];
57 extern const byte adj_dex_ta[];
58 extern const byte adj_str_td[];
59 extern const byte adj_dex_th[];
60 extern const byte adj_str_th[];
61 extern const byte adj_str_wgt[];
62 extern const byte adj_str_hold[];
63 extern const byte adj_str_dig[];
64 extern const byte adj_str_blow[];
65 extern const byte adj_dex_blow[];
66 extern const byte adj_dex_safe[];
67 extern const byte adj_con_fix[];
68 extern const byte adj_con_mhp[];
69 extern const byte adj_chr_chm[];
70 extern const byte blows_table[12][12];
71 extern const byte extract_energy[200];
73 extern const u32b fake_spell_flags[4];
74 extern const concptr realm_names[];
76 extern const concptr E_realm_names[];
78 extern const concptr spell_names[VALID_REALM][32];
79 extern const concptr player_title[MAX_CLASS][PY_MAX_LEVEL/5];
80 extern const concptr color_names[16];
81 extern const concptr stat_names[6];
82 extern const concptr stat_names_reduced[6];
83 extern const concptr window_flag_desc[32];
85 extern const concptr game_inscriptions[];
87 extern const concptr ident_info[];
88 extern const byte feature_action_flags[FF_FLAG_MAX];
91 extern const concptr copyright[5];
92 extern byte h_ver_major;
93 extern byte h_ver_minor;
94 extern byte h_ver_patch;
95 extern byte h_ver_extra;
97 extern u32b sf_system;
102 extern u16b sf_lives;
103 extern u16b sf_saves;
104 extern bool arg_fiddle;
105 extern bool arg_wizard;
106 extern bool arg_music;
107 extern bool arg_sound;
108 extern byte arg_graphics;
109 extern bool arg_monochrome;
110 extern bool arg_force_original;
111 extern bool arg_force_roguelike;
112 extern bool arg_bigtile;
113 extern bool character_generated;
114 extern bool character_dungeon;
115 extern bool character_loaded;
116 extern bool character_saved;
117 extern bool character_icky;
118 extern bool character_xtra;
119 extern bool creating_savefile;
120 extern COMMAND_CODE command_cmd;
121 extern COMMAND_ARG command_arg;
122 extern s16b command_rep;
123 extern DIRECTION command_dir;
124 extern s16b command_see;
125 extern TERM_LEN command_gap;
126 extern s16b command_wrk;
127 extern s16b command_new;
128 extern bool msg_flag;
130 extern bool invoking_midnight_curse;
131 extern GAME_TURN old_battle;
132 extern bool use_sound;
133 extern bool use_music;
134 extern bool use_graphics;
135 extern bool use_bigtile;
136 extern s16b signal_count;
137 extern bool inkey_base;
138 extern bool inkey_xtra;
139 extern bool inkey_scan;
140 extern bool inkey_flag;
141 extern bool get_com_no_macros;
142 extern OBJECT_SUBTYPE_VALUE coin_type;
143 extern bool opening_chest;
144 extern bool shimmer_monsters;
145 extern bool shimmer_objects;
146 extern bool repair_monsters;
147 extern bool repair_objects;
148 extern MONSTER_IDX hack_m_idx;
149 extern MONSTER_IDX hack_m_idx_ii;
150 extern int total_friends;
151 extern int leaving_quest;
152 extern bool reinit_wilderness;
153 extern bool multi_rew;
154 extern char summon_kin_type;
155 extern bool is_loading_now;
156 extern bool reset_concent;
157 extern bool is_fired;
162 * Software options (set via the '=' command). See "tables.c"
166 extern char record_o_name[MAX_NLEN];
167 extern GAME_TURN record_turn;
168 extern POSITION panel_row_min, panel_row_max;
169 extern POSITION panel_col_min, panel_col_max;
170 extern POSITION panel_col_prt, panel_row_prt;
171 extern MONSTER_IDX target_who;
172 extern POSITION target_col;
173 extern POSITION target_row;
174 extern int player_uid;
175 extern int player_euid;
176 extern int player_egid;
177 extern char player_base[32];
178 extern char savefile[1024];
179 extern char savefile_base[40];
180 extern pos_list tmp_pos;
181 extern s16b macro__num;
182 extern concptr *macro__pat;
183 extern concptr *macro__act;
184 extern bool *macro__cmd;
185 extern char *macro__buf;
186 extern STR_OFFSET quark__num;
187 extern concptr *quark__str;
188 extern u32b message__next;
189 extern u32b message__last;
190 extern u32b message__head;
191 extern u32b message__tail;
192 extern u32b *message__ptr;
193 extern char *message__buf;
194 extern BIT_FLAGS option_flag[8];
195 extern BIT_FLAGS option_mask[8];
196 extern BIT_FLAGS window_flag[8];
197 extern BIT_FLAGS window_mask[8];
198 extern term *angband_term[8];
199 extern const char angband_term_name[8][16];
200 extern byte angband_color_table[256][4];
201 extern const concptr angband_sound_name[SOUND_MAX];
202 extern const concptr angband_music_basic_name[MUSIC_BASIC_MAX];
203 extern FLOOR_IDX max_floor_id;
204 extern u32b saved_floor_file_sign;
205 extern TERM_COLOR misc_to_attr[256];
206 extern SYMBOL_CODE misc_to_char[256];
207 extern TERM_COLOR tval_to_attr[128];
208 extern SYMBOL_CODE tval_to_char[128];
209 extern concptr keymap_act[KEYMAP_MODES][256];
210 extern player_type *p_ptr;
214 extern concptr ANGBAND_SYS;
215 extern concptr ANGBAND_KEYBOARD;
216 extern concptr ANGBAND_GRAF;
217 extern concptr ANGBAND_DIR;
218 extern concptr ANGBAND_DIR_APEX;
219 extern concptr ANGBAND_DIR_BONE;
220 extern concptr ANGBAND_DIR_DATA;
221 extern concptr ANGBAND_DIR_EDIT;
222 extern concptr ANGBAND_DIR_SCRIPT;
223 extern concptr ANGBAND_DIR_FILE;
224 extern concptr ANGBAND_DIR_HELP;
225 extern concptr ANGBAND_DIR_INFO;
226 extern concptr ANGBAND_DIR_PREF;
227 extern concptr ANGBAND_DIR_SAVE;
228 extern concptr ANGBAND_DIR_USER;
229 extern concptr ANGBAND_DIR_XTRA;
230 extern OBJECT_TYPE_VALUE item_tester_tval;
231 extern bool (*item_tester_hook)(object_type *o_ptr);
232 extern monsterrace_hook_type get_mon_num_hook;
233 extern monsterrace_hook_type get_mon_num2_hook;
234 extern bool (*get_obj_num_hook)(KIND_OBJECT_IDX k_idx);
236 extern QUEST_IDX max_q_idx;
237 extern MONRACE_IDX max_r_idx;
238 extern KIND_OBJECT_IDX max_k_idx;
239 extern VAULT_IDX max_v_idx;
240 extern FEAT_IDX max_f_idx;
241 extern ARTIFACT_IDX max_a_idx;
242 extern EGO_IDX max_e_idx;
243 extern DUNGEON_IDX max_d_idx;
244 extern char quest_text[10][80];
245 extern int quest_text_line;
246 extern int init_flags;
247 extern int highscore_fd;
248 extern bool can_save;
250 extern int cap_mspeed;
251 extern HIT_POINT cap_hp;
252 extern HIT_POINT cap_maxhp;
253 extern STR_OFFSET cap_nickname;
254 extern MONRACE_IDX battle_mon[4];
255 extern int sel_monster;
256 extern int battle_odds;
257 extern PRICE kakekin;
258 extern u32b mon_odds[4];
259 extern MONSTER_IDX pet_t_m_idx;
260 extern MONSTER_IDX riding_t_m_idx;
261 extern MONRACE_IDX today_mon;
262 extern bool write_level;
263 extern u32b start_time;
264 extern bool sukekaku;
265 extern bool new_mane;
266 extern bool mon_fight;
267 extern bool generate_encounter;
268 extern concptr screen_dump;
271 extern DEPTH *max_dlv;
272 extern FEAT_IDX feat_wall_outer;
273 extern FEAT_IDX feat_wall_inner;
274 extern FEAT_IDX feat_wall_solid;
275 extern FEAT_IDX feat_ground_type[100], feat_wall_type[100];
276 extern COMMAND_CODE now_message;
277 extern bool use_menu;
281 extern void play_game(bool new_game);
282 extern s32b turn_real(s32b hoge);
283 extern void prevent_turn_overflow(void);
284 extern void close_game(void);
287 extern errr rd_savefile_new(void);
288 extern bool load_floor(saved_floor_type *sf_ptr, BIT_FLAGS mode);
291 extern void do_cmd_racial_power(void);
294 extern bool save_player(void);
295 extern bool load_player(void);
296 extern void remove_loc(void);
297 extern bool save_floor(saved_floor_type *sf_ptr, BIT_FLAGS mode);
300 extern void handle_stuff(void);
301 extern void update_output(void);
302 extern void print_monster_list(TERM_LEN x, TERM_LEN y, TERM_LEN max_lines);
303 extern void update_playtime(void);
306 extern void panel_bounds_center(void);
307 extern void verify_panel(void);
308 extern bool target_able(MONSTER_IDX m_idx);
309 extern bool target_okay(void);
310 extern bool target_set(BIT_FLAGS mode);
311 extern void target_set_prepare_look(void);
312 extern bool get_aim_dir(DIRECTION *dp);
313 extern bool get_hack_dir(DIRECTION *dp);
314 extern bool get_direction(DIRECTION *dp, bool allow_under, bool with_steed);
315 extern bool get_rep_dir(DIRECTION *dp, bool under);
316 extern bool tgt_pt(POSITION *x, POSITION *y);
319 * Hack -- conditional (or "bizarre") externs
324 extern void user_name(char *buf, int id);
330 extern int stricmp(concptr a, concptr b);
336 extern int usleep(huge usecs);
341 /* extern void main(void); */
344 #if defined(MAC_MPW) || defined(MACH_O_CARBON)
347 extern u32b _fcreator;
350 #if defined(MAC_MPW) && defined(CARBON)
351 extern void convert_pathname(char *path);
354 #if defined(MACH_O_CARBON)
355 extern void fsetfileinfo(concptr path, u32b fcreator, u32b ftype);
360 /* extern int FAR PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, ...); */
364 extern void repeat_push(COMMAND_CODE what);
365 extern bool repeat_pull(COMMAND_CODE *what);
366 extern void repeat_check(void);
368 extern bool easy_disarm;
369 extern bool easy_floor;
370 extern bool easy_open;
374 extern ITEM_NUMBER scan_floor(OBJECT_IDX *items, POSITION y, POSITION x, BIT_FLAGS mode);
375 extern COMMAND_CODE show_floor(int target_item, POSITION y, POSITION x, TERM_LEN *min_width);
376 extern bool get_item_floor(COMMAND_CODE *cp, concptr pmt, concptr str, BIT_FLAGS mode);
377 extern void py_pickup_floor(bool pickup);
380 extern void spoil_random_artifact(concptr fname);
383 extern void strip_name(char *buf, KIND_OBJECT_IDX k_idx);
384 extern void cheat_death(player_type *creature_ptr);
389 extern void sindarin_to_kana(char *kana, concptr sindarin);
390 extern void jverb( concptr in , char *out , int flag);
391 extern void sjis2euc(char *str);
392 extern void euc2sjis(char *str);
393 extern byte codeconv(char *str);
394 extern bool iskanji2(concptr s, int x);
395 extern void guess_convert_to_system_encoding(char* strbuf, int buflen);
400 extern errr report_score(void);
401 extern concptr make_screen_dump(void);
405 extern int soc_write(int sd, char *buf, size_t sz);
406 extern int soc_read(int sd, char *buf, size_t sz);
407 extern void set_proxy(char *default_url, int default_port);
408 extern int connect_server(int timeout, concptr host, int port);
409 extern int disconnect_server(int sd);
410 extern concptr soc_err(void);
412 extern void prepare_movie_hooks(void);
413 extern void prepare_browse_movie_aux(concptr filename);
414 extern void prepare_browse_movie(concptr filename);
415 extern void browse_movie(void);
416 extern bool browsing_movie;
418 extern void kamaenaoshi(INVENTORY_IDX item);