OSDN Git Service

Daretoku.
[hengband/hengband.git] / src / externs.h
index e2c32d7..26337a4 100644 (file)
@@ -39,87 +39,89 @@ extern int max_max_autopick;
 extern autopick_type *autopick_list;
 
 /* tables.c */
-extern s16b ddd[9];
-extern s16b ddx[10];
-extern s16b ddy[10];
-extern s16b ddx_ddd[9];
-extern s16b ddy_ddd[9];
-extern s16b cdd[8];
-extern s16b ddx_cdd[8];
-extern s16b ddy_cdd[8];
-extern char hexsym[16];
-extern char listsym[];
-extern cptr color_char;
-extern byte adj_mag_study[];
-extern byte adj_mag_mana[];
-extern byte adj_mag_fail[];
-extern byte adj_mag_stat[];
-extern byte adj_chr_gold[];
-extern byte adj_int_dev[];
-extern byte adj_wis_sav[];
-extern byte adj_dex_dis[];
-extern byte adj_int_dis[];
-extern byte adj_dex_ta[];
-extern byte adj_str_td[];
-extern byte adj_dex_th[];
-extern byte adj_str_th[];
-extern byte adj_str_wgt[];
-extern byte adj_str_hold[];
-extern byte adj_str_dig[];
-extern byte adj_str_blow[];
-extern byte adj_dex_blow[];
-extern byte adj_dex_safe[];
-extern byte adj_con_fix[];
-extern byte adj_con_mhp[];
-extern byte adj_chr_chm[];
-extern byte blows_table[12][12];
-extern arena_type arena_info[MAX_ARENA_MONS + 2];
-extern owner_type owners[MAX_STORES][MAX_OWNERS];
-extern byte extract_energy[200];
-extern s32b player_exp[PY_MAX_LEVEL];
-extern s32b player_exp_a[PY_MAX_LEVEL];
-extern player_sex sex_info[MAX_SEXES];
-extern player_race race_info[MAX_RACES];
-extern player_class class_info[MAX_CLASS];
-extern magic_type technic_info[NUM_TECHNIC][32];
-extern player_seikaku seikaku_info[MAX_SEIKAKU];
-extern player_race mimic_info[];
-extern u32b fake_spell_flags[4];
-extern s32b realm_choices1[];
-extern s32b realm_choices2[];
-extern cptr realm_names[];
+extern const s16b ddd[9];
+extern const s16b ddx[10];
+extern const s16b ddy[10];
+extern const s16b ddx_ddd[9];
+extern const s16b ddy_ddd[9];
+extern const s16b cdd[8];
+extern const s16b ddx_cdd[8];
+extern const s16b ddy_cdd[8];
+extern const char hexsym[16];
+extern const char listsym[];
+extern const cptr color_char;
+extern const byte adj_mag_study[];
+extern const byte adj_mag_mana[];
+extern const byte adj_mag_fail[];
+extern const byte adj_mag_stat[];
+extern const byte adj_chr_gold[];
+extern const byte adj_int_dev[];
+extern const byte adj_wis_sav[];
+extern const byte adj_dex_dis[];
+extern const byte adj_int_dis[];
+extern const byte adj_dex_ta[];
+extern const byte adj_str_td[];
+extern const byte adj_dex_th[];
+extern const byte adj_str_th[];
+extern const byte adj_str_wgt[];
+extern const byte adj_str_hold[];
+extern const byte adj_str_dig[];
+extern const byte adj_str_blow[];
+extern const byte adj_dex_blow[];
+extern const byte adj_dex_safe[];
+extern const byte adj_con_fix[];
+extern const byte adj_con_mhp[];
+extern const byte adj_chr_chm[];
+extern const byte blows_table[12][12];
+extern const arena_type arena_info[MAX_ARENA_MONS + 2];
+extern const owner_type owners[MAX_STORES][MAX_OWNERS];
+extern const byte extract_energy[200];
+extern const s32b player_exp[PY_MAX_LEVEL];
+extern const s32b player_exp_a[PY_MAX_LEVEL];
+extern const player_sex sex_info[MAX_SEXES];
+extern const player_race race_info[MAX_RACES];
+extern const player_class class_info[MAX_CLASS];
+extern const magic_type technic_info[NUM_TECHNIC][32];
+extern const player_seikaku seikaku_info[MAX_SEIKAKU];
+extern const player_race mimic_info[];
+extern const u32b fake_spell_flags[4];
+extern const s32b realm_choices1[];
+extern const s32b realm_choices2[];
+extern const cptr realm_names[];
 #ifdef JP
-extern cptr E_realm_names[];
+extern const cptr E_realm_names[];
 #endif
-extern cptr spell_names[VALID_REALM][32];
-extern int chest_traps[64];
-extern cptr player_title[MAX_CLASS][PY_MAX_LEVEL/5];
-extern cptr color_names[16];
-extern cptr stat_names[6];
-extern cptr stat_names_reduced[6];
-extern cptr window_flag_desc[32];
-extern option_type option_info[];
-extern cptr chaos_patrons[MAX_PATRON];
-extern int chaos_stats[MAX_PATRON];
-extern int chaos_rewards[MAX_PATRON][20];
-extern martial_arts ma_blows[MAX_MA];
-extern int monk_ave_damage[PY_MAX_LEVEL+1][3];
-extern cptr game_inscriptions[];
-extern kamae kamae_shurui[MAX_KAMAE];
-extern kamae kata_shurui[MAX_KATA];
-extern cptr exp_level_str[5];
-extern cptr silly_attacks[MAX_SILLY_ATTACK];
+extern const cptr spell_names[VALID_REALM][32];
+extern const int chest_traps[64];
+extern const cptr player_title[MAX_CLASS][PY_MAX_LEVEL/5];
+extern const cptr color_names[16];
+extern const cptr stat_names[6];
+extern const cptr stat_names_reduced[6];
+extern const cptr window_flag_desc[32];
+extern const option_type option_info[];
+extern const cptr chaos_patrons[MAX_PATRON];
+extern const int chaos_stats[MAX_PATRON];
+extern const int chaos_rewards[MAX_PATRON][20];
+extern const martial_arts ma_blows[MAX_MA];
+extern const int monk_ave_damage[PY_MAX_LEVEL+1][3];
+extern const cptr game_inscriptions[];
+extern const kamae kamae_shurui[MAX_KAMAE];
+extern const kamae kata_shurui[MAX_KATA];
+extern const cptr exp_level_str[5];
+extern const cptr silly_attacks[MAX_SILLY_ATTACK];
 #ifdef JP
-extern cptr silly_attacks2[MAX_SILLY_ATTACK];
+extern const cptr silly_attacks2[MAX_SILLY_ATTACK];
 #endif
-extern monster_power monster_powers[MAX_MONSPELLS];
-extern cptr monster_powers_short[MAX_MONSPELLS];
-extern cptr ident_info[];
-extern mbe_info_type mbe_info[];
-extern byte feature_action_flags[FF_FLAG_MAX];
+extern const monster_power monster_powers[MAX_MONSPELLS];
+extern const cptr monster_powers_short[MAX_MONSPELLS];
+extern const cptr ident_info[];
+extern const mbe_info_type mbe_info[];
+extern const byte feature_action_flags[FF_FLAG_MAX];
+extern const dragonbreath_type dragonbreath_info[];
+extern const activation_type activation_info[];
 
 /* variable.c */
-extern cptr copyright[5];
+extern const cptr copyright[5];
 extern byte h_ver_major;
 extern byte h_ver_minor;
 extern byte h_ver_patch;
@@ -146,6 +148,7 @@ extern bool character_loaded;
 extern bool character_saved;
 extern bool character_icky;
 extern bool character_xtra;
+extern bool creating_savefile;
 extern u32b seed_flavor;
 extern u32b seed_town;
 extern s16b command_cmd;
@@ -181,6 +184,7 @@ extern bool inkey_base;
 extern bool inkey_xtra;
 extern bool inkey_scan;
 extern bool inkey_flag;
+extern bool get_com_no_macros;
 extern s16b coin_type;
 extern bool opening_chest;
 extern bool shimmer_monsters;
@@ -435,9 +439,9 @@ extern u32b option_mask[8];
 extern u32b window_flag[8];
 extern u32b window_mask[8];
 extern term *angband_term[8];
-extern char angband_term_name[8][16];
+extern const char angband_term_name[8][16];
 extern byte angband_color_table[256][4];
-extern char angband_sound_name[SOUND_MAX][16];
+extern const cptr angband_sound_name[SOUND_MAX];
 extern cave_type *cave[MAX_HGT];
 extern saved_floor_type saved_floors[MAX_SAVED_FLOORS];
 extern s16b max_floor_id;
@@ -459,11 +463,11 @@ extern byte tval_to_attr[128];
 extern char tval_to_char[128];
 extern cptr keymap_act[KEYMAP_MODES][256];
 extern player_type *p_ptr;
-extern player_sex *sp_ptr;
-extern player_race *rp_ptr;
-extern player_class *cp_ptr;
-extern player_seikaku *ap_ptr;
-extern player_magic *mp_ptr;
+extern const player_sex *sp_ptr;
+extern const player_race *rp_ptr;
+extern const player_class *cp_ptr;
+extern const player_seikaku *ap_ptr;
+extern const player_magic *mp_ptr;
 extern birther previous_char;
 extern vault_type *v_info;
 extern char *v_name;
@@ -707,8 +711,12 @@ extern bool move_player_effect(int ny, int nx, u32b mpe_mode);
 extern bool trap_can_be_ignored(int feat);
 extern void move_player(int dir, bool do_pickup, bool break_trap);
 extern void run_step(int dir);
+#ifdef TRAVEL
+extern void travel_step(void);
+#endif
 
 /* cmd2.c */
+extern bool confirm_leave_level(bool down_stair);
 extern void do_cmd_go_up(void);
 extern void do_cmd_go_down(void);
 extern void do_cmd_search(void);
@@ -727,6 +735,9 @@ extern void do_cmd_fire(void);
 extern void do_cmd_fire_aux(int item, object_type *j_ptr);
 extern void do_cmd_throw(void);
 extern bool do_cmd_throw_aux(int mult, bool boomerang, int shuriken);
+#ifdef TRAVEL
+extern void do_cmd_travel(void);
+#endif
 
 /* cmd3.c */
 extern void do_cmd_inven(void);
@@ -803,7 +814,7 @@ extern void do_cmd_rerate_aux(void);
 extern void do_cmd_rerate(bool display);
 extern void ring_of_power(int dir);
 extern void do_cmd_use(void);
-extern void do_cmd_magic_eater(bool only_browse);
+extern bool do_cmd_magic_eater(bool only_browse, bool powerful);
 
 /* do-spell.c */
 extern void stop_singing(void);
@@ -811,6 +822,7 @@ extern cptr do_spell(int realm, int spell, int mode);
 
 /* dungeon.c */
 extern void leave_quest_check(void);
+extern void leave_tower_check(void);
 extern void extract_option_vars(void);
 extern void determine_bounty_uniques(void);
 extern void determine_today_mon(bool conv_old);
@@ -830,7 +842,7 @@ extern void display_player(int mode);
 extern errr make_character_dump(FILE *fff);
 extern errr file_character(cptr name);
 extern errr process_pref_file_command(char *buf);
-extern cptr process_pref_file_expr(cptr *sp, char *fp);
+extern cptr process_pref_file_expr(char **sp, char *fp);
 extern errr process_pref_file(cptr name);
 extern errr process_autopick_file(cptr name);
 extern errr process_histpref_file(cptr name);
@@ -1035,6 +1047,7 @@ extern bool make_gold(object_type *j_ptr);
 extern void place_gold(int y, int x);
 extern s16b drop_near(object_type *o_ptr, int chance, int y, int x);
 extern void acquirement(int y1, int x1, int num, bool great, bool known);
+extern void amusement(int y1, int x1, int num, bool known);
 extern void init_normal_traps(void);
 extern s16b choose_random_trap(void);
 extern void disclose_grid(int y, int x);
@@ -1101,8 +1114,8 @@ extern bool detect_monsters_mind(int range);
 extern bool detect_all(int range);
 extern bool wall_stone(void);
 extern bool speed_monsters(void);
-extern bool slow_monsters(void);
-extern bool sleep_monsters(void);
+extern bool slow_monsters(int power);
+extern bool sleep_monsters(int power);
 extern void aggravate_monsters(int who);
 extern bool genocide_aux(int m_idx, int power, bool player_cast, int dam_side, cptr spell_name);
 extern bool symbol_genocide(int power, bool player_cast);
@@ -1134,30 +1147,31 @@ extern bool fire_blast(int typ, int dir, int dd, int ds, int num, int dev);
 extern void call_chaos(void);
 extern bool fire_beam(int typ, int dir, int dam);
 extern bool fire_bolt_or_beam(int prob, int typ, int dir, int dam);
-extern bool lite_line(int dir);
+extern bool lite_line(int dir, int dam);
 extern bool drain_life(int dir, int dam);
 extern bool death_ray(int dir, int plev);
-extern bool wall_to_mud(int dir);
+extern bool wall_to_mud(int dir, int dam);
 extern bool destroy_door(int dir);
 extern bool disarm_trap(int dir);
 extern bool wizard_lock(int dir);
 extern bool heal_monster(int dir, int dam);
-extern bool speed_monster(int dir);
-extern bool slow_monster(int dir);
-extern bool sleep_monster(int dir);
+extern bool speed_monster(int dir, int power);
+extern bool slow_monster(int dir, int power);
+extern bool sleep_monster(int dir, int power);
 extern bool stasis_monster(int dir);    /* Like sleep, affects undead as well */
 extern bool stasis_evil(int dir);    /* Like sleep, affects undead as well */
 extern bool confuse_monster(int dir, int plev);
 extern bool stun_monster(int dir, int plev);
 extern bool fear_monster(int dir, int plev);
-extern bool poly_monster(int dir);
+extern bool poly_monster(int dir, int power);
 extern bool clone_monster(int dir);
-extern bool teleport_monster(int dir);
+extern bool teleport_monster(int dir, int distance);
 extern bool door_creation(void);
 extern bool trap_creation(int y, int x);
 extern bool tree_creation(void);
 extern bool glyph_creation(void);
 extern bool destroy_doors_touch(void);
+extern bool disarm_traps_touch(void);
 extern bool animate_dead(int who, int y, int x);
 extern bool sleep_monsters_touch(void);
 extern bool activate_ty_curse(bool stop_ty, int *count);
@@ -1254,6 +1268,7 @@ extern int fire_dam(int dam, cptr kb_str, int monspell);
 extern int cold_dam(int dam, cptr kb_str, int monspell);
 extern bool rustproof(void);
 extern bool curse_armor(void);
+extern bool curse_weapon_object(bool force, object_type *o_ptr);
 extern bool curse_weapon(bool force, int slot);
 extern bool brand_bolts(void);
 extern bool polymorph_monster(int y, int x);
@@ -1375,6 +1390,7 @@ extern void window_stuff(void);
 extern void handle_stuff(void);
 extern s16b empty_hands(bool riding_control);
 extern bool heavy_armor(void);
+extern void print_monster_list(int x, int y, int max_lines);
 
 
 /* effects.c */
@@ -1466,6 +1482,7 @@ extern void ang_sort(vptr u, vptr v, int n);
 extern bool target_able(int m_idx);
 extern bool target_okay(void);
 extern bool target_set(int mode);
+extern void target_set_prepare_look();
 extern bool get_aim_dir(int *dp);
 extern bool get_hack_dir(int *dp);
 extern bool get_rep_dir(int *dp, bool under);
@@ -1482,6 +1499,7 @@ extern cptr your_alignment(void);
 extern int weapon_exp_level(int weapon_exp);
 extern int riding_exp_level(int riding_exp);
 extern int spell_exp_level(int spell_exp);
+extern void display_rumor(bool ex);
 
 /* mspells1.c */
 extern bool clean_shot(int y1, int x1, int y2, int x2, bool friend);
@@ -1505,7 +1523,9 @@ extern void one_low_esp(object_type *o_ptr);
 extern void one_resistance(object_type *o_ptr);
 extern void one_ability(object_type *o_ptr);
 extern bool create_artifact(object_type *o_ptr, bool a_scroll);
+extern int activation_index(object_type *o_ptr);
 extern bool activate_random_artifact(object_type * o_ptr);
+extern const activation_type* find_activation_info(object_type *o_ptr);
 extern void get_bloody_moon_flags(object_type *o_ptr);
 extern void random_artifact_resistance(object_type * o_ptr, artifact_type *a_ptr);
 extern bool create_named_art(int a_idx, int y, int x);
@@ -1650,7 +1670,6 @@ extern bool object_is_weapon_ammo(object_type *o_ptr);
 extern bool object_is_ammo(object_type *o_ptr);
 extern bool object_is_armour(object_type *o_ptr);
 extern bool object_is_weapon_armour_ammo(object_type *o_ptr);
-extern bool object_is_weapon_armour_ammo(object_type *o_ptr);
 extern bool object_is_melee_weapon(object_type *o_ptr);
 extern bool object_is_wearable(object_type *o_ptr);
 extern bool object_is_equipment(object_type *o_ptr);
@@ -1659,6 +1678,7 @@ extern bool object_allow_enchant_weapon(object_type *o_ptr);
 extern bool object_allow_enchant_melee_weapon(object_type *o_ptr);
 extern bool object_is_smith(object_type *o_ptr);
 extern bool object_is_artifact(object_type *o_ptr);
+extern bool object_is_random_artifact(object_type *o_ptr);
 extern bool object_is_nameless(object_type *o_ptr);
 extern bool object_allow_two_hands_wielding(object_type *o_ptr);
 
@@ -1724,3 +1744,38 @@ extern void flush_ringbuf(void);
 extern void prepare_chuukei_hooks(void);
 #endif
 
+extern void prepare_movie_hooks(void);
+extern void prepare_browse_movie_aux(cptr filename);
+extern void prepare_browse_movie(cptr filename);
+extern void browse_movie(void);
+extern bool browsing_movie;
+
+#ifdef TRAVEL
+/* for travel */
+extern travel_type travel;
+#endif
+
+/* variable.c (for snipers) */
+extern int snipe_type;
+extern bool reset_concent;   /* Concentration reset flag */
+extern bool is_fired;
+
+/* snipe.c */
+extern void reset_concentration(bool msg);
+extern void display_snipe_list(void);
+extern int tot_dam_aux_snipe (int mult, monster_type *m_ptr);
+extern void do_cmd_snipe(void);
+extern void do_cmd_snipe_browse(void);
+extern int boost_concentration_damage(int tdam);
+
+/* hex.c */
+extern bool stop_hex_spell_all(void);
+extern bool stop_hex_spell(void);
+extern void check_hex(void);
+extern bool hex_spell_fully(void);
+extern void revenge_spell();
+extern void revenge_store(int dam);
+extern bool teleport_barrier(int m_idx);
+extern bool magic_barrier(int m_idx);
+extern bool multiply_barrier(int m_idx);
+