OSDN Git Service

[Refactor] #37353 cmd4.c を cmd-dump.c に改名して関数整理.
[hengband/hengband.git] / src / externs.h
1 /*!
2  * @file externs.h
3  * @brief Angband(変愚蛮怒)基本関数、グローバル変数ヘッダファイル / 
4  * extern declarations (variables and functions)
5  * @date 2014/08/08
6  * @author
7  * Copyright (c) 1997 Ben Harrison
8  * @details
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)
14  */
15 #include "geometry.h"
16 #include "grid.h"
17 #include "floor-save.h"
18 #include "monster.h"
19 #include "monsterrace.h"
20 #include "object.h"
21 #include "player-status.h"
22
23 /*
24  * Automatically generated "variable" declarations
25  */
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];
32
33 extern int level_up;
34
35
36 /* tables.c */
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];
72
73 extern const u32b fake_spell_flags[4];
74 extern const concptr realm_names[];
75 #ifdef JP
76 extern const concptr E_realm_names[];
77 #endif
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];
84
85 extern const concptr game_inscriptions[];
86
87 extern const concptr ident_info[];
88 extern const byte feature_action_flags[FF_FLAG_MAX];
89
90 /* variable.c */
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;
96 extern byte sf_extra;
97 extern u32b sf_system;
98 extern byte z_major;
99 extern byte z_minor;
100 extern byte z_patch;
101 extern u32b sf_when;
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;
129 extern s16b running;
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;
158
159
160
161 /*
162  * Software options (set via the '=' command).  See "tables.c"
163  */
164
165
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;
211 extern char *f_name;
212 extern char *f_tag;
213
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);
235
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;
249 extern int cap_mon;
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;
269
270
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;
278
279
280 /* dungeon.c */
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);
285
286 /* load.c */
287 extern errr rd_savefile_new(void);
288 extern bool load_floor(saved_floor_type *sf_ptr, BIT_FLAGS mode);
289
290 /* racial.c */
291 extern void do_cmd_racial_power(void);
292
293 /* save.c */
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);
298
299 /* xtra1.c */
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);
304
305 /* xtra2.c */
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);
317
318 /*
319  * Hack -- conditional (or "bizarre") externs
320  */
321
322 #ifdef SET_UID
323 /* util.c */
324 extern void user_name(char *buf, int id);
325 #endif
326
327 #if 0
328 #ifndef HAS_STRICMP
329 /* util.c */
330 extern int stricmp(concptr a, concptr b);
331 #endif
332 #endif
333
334 #ifndef HAVE_USLEEP
335 /* util.c */
336 extern int usleep(huge usecs);
337 #endif
338
339 #ifdef MACINTOSH
340 /* main-mac.c */
341 /* extern void main(void); */
342 #endif
343
344 #if defined(MAC_MPW) || defined(MACH_O_CARBON)
345 /* Globals needed */
346 extern  u32b _ftype;
347 extern  u32b _fcreator;
348 #endif
349
350 #if defined(MAC_MPW) && defined(CARBON)
351 extern void convert_pathname(char *path);
352 #endif
353
354 #if defined(MACH_O_CARBON)
355 extern void fsetfileinfo(concptr path, u32b fcreator, u32b ftype);
356 #endif
357
358 #ifdef WINDOWS
359 /* main-win.c */
360 /* extern int FAR PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, ...); */
361 #endif
362
363 /* util.c */
364 extern void repeat_push(COMMAND_CODE what);
365 extern bool repeat_pull(COMMAND_CODE *what);
366 extern void repeat_check(void);
367
368 extern bool easy_disarm;
369 extern bool easy_floor;
370 extern bool easy_open;
371
372
373 /* object1.c */
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);
378
379 /* wizard1.c */
380 extern void spoil_random_artifact(concptr fname);
381
382 /* wizard2.c */
383 extern void strip_name(char *buf, KIND_OBJECT_IDX k_idx);
384 extern void cheat_death(player_type *creature_ptr);
385
386
387 #ifdef JP
388 /* japanese.c */
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);
396 #endif
397
398 #ifdef WORLD_SCORE
399 /* report.c */
400 extern errr report_score(void);
401 extern concptr make_screen_dump(void);
402 #endif
403
404 /* inet.c */
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);
411
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;
417
418 extern void kamaenaoshi(INVENTORY_IDX item);