X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fexterns.h;h=1cc277c0ec35d1bfd58543fec7bd722df8ec086b;hb=8c1a95510c03a7dab763274007b5f665f109d66a;hp=42269d7fdf6f066d0c9a938775d1c56923c62fbc;hpb=02e318147cdf701af36371a67bfc2a86311afeec;p=hengband%2Fhengband.git diff --git a/src/externs.h b/src/externs.h index 42269d7fd..1cc277c0e 100644 --- a/src/externs.h +++ b/src/externs.h @@ -1,16 +1,14 @@ -/* File: externs.h */ - -/* +/*! + * @file externs.h + * @brief Angband(変愚蛮怒)基本関数、グローバル変数ヘッダファイル / + * extern declarations (variables and functions) + * @date 2014/08/08 + * @author * Copyright (c) 1997 Ben Harrison - * + * @details * This software may be copied and distributed for educational, research, * and not for profit purposes provided that this copyright and statement * are included in all such copies. - */ - -/* Purpose: extern declarations (variables and functions) */ - -/* * Note that some files have their own header files * (z-virt.h, z-util.h, z-form.h, term.h, random.h) */ @@ -19,7 +17,6 @@ /* * Automatically generated "variable" declarations */ - extern int max_macrotrigger; extern cptr macro_template; extern cptr macro_modifier_chr; @@ -27,8 +24,6 @@ extern cptr macro_modifier_name[MAX_MACRO_MOD]; extern cptr macro_trigger_name[MAX_MACRO_TRIG]; extern cptr macro_trigger_keycode[2][MAX_MACRO_TRIG]; - -/* ÆüËܸìÈǵ¡Ç½ÄɲäǻȤ¦ */ extern int level_up; /* @@ -119,6 +114,7 @@ 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[]; +extern const cptr artifact_bias_name[MAX_BIAS]; /* variable.c */ extern const cptr copyright[5]; @@ -136,6 +132,7 @@ extern u16b sf_lives; extern u16b sf_saves; extern bool arg_fiddle; extern bool arg_wizard; +extern bool arg_music; extern bool arg_sound; extern byte arg_graphics; extern bool arg_monochrome; @@ -159,7 +156,6 @@ extern s16b command_see; extern s16b command_gap; extern s16b command_wrk; extern s16b command_new; -extern s16b energy_use; extern bool msg_flag; extern s16b running; extern s16b resting; @@ -177,6 +173,7 @@ extern s32b dungeon_turn_limit; extern s32b old_turn; extern s32b old_battle; extern bool use_sound; +extern bool use_music; extern bool use_graphics; extern bool use_bigtile; extern s16b signal_count; @@ -282,6 +279,9 @@ extern bool abbrev_extra; /* Describe obj's extra resistances by abbreviation */ extern bool abbrev_all; /* Describe obj's all resistances by abbreviation */ extern bool exp_need; /* Show the experience needed for next level */ extern bool ignore_unview; /* Ignore whenever any monster does */ +extern bool show_ammo_detail; /* Show Description of ammo damage */ +extern bool show_ammo_no_crit; /* Show No-crit damage of ammo */ +extern bool show_ammo_crit_ratio; /* Show critical ratio of ammo */ /*** Game-Play Options ***/ @@ -381,6 +381,8 @@ extern bool cheat_xtra; extern bool cheat_know; extern bool cheat_live; extern bool cheat_save; +extern bool cheat_diary_output; +extern bool cheat_turn; extern char record_o_name[MAX_NLEN]; extern s32b record_turn; @@ -394,15 +396,12 @@ extern bool closing_flag; extern s16b panel_row_min, panel_row_max; extern s16b panel_col_min, panel_col_max; extern s16b panel_col_prt, panel_row_prt; -extern int py; -extern int px; extern s16b target_who; extern s16b target_col; extern s16b target_row; extern int player_uid; extern int player_euid; extern int player_egid; -extern char player_name[32]; extern char player_base[32]; extern char savefile[1024]; extern char savefile_base[40]; @@ -428,11 +427,11 @@ extern bool *macro__cmd; extern char *macro__buf; extern s16b quark__num; extern cptr *quark__str; -extern u16b message__next; -extern u16b message__last; -extern u16b message__head; -extern u16b message__tail; -extern u16b *message__ptr; +extern u32b message__next; +extern u32b message__last; +extern u32b message__head; +extern u32b message__tail; +extern u32b *message__ptr; extern char *message__buf; extern u32b option_flag[8]; extern u32b option_mask[8]; @@ -442,6 +441,7 @@ extern term *angband_term[8]; extern const char angband_term_name[8][16]; extern byte angband_color_table[256][4]; extern const cptr angband_sound_name[SOUND_MAX]; +extern const cptr angband_music_basic_name[MUSIC_BASIC_MAX]; extern cave_type *cave[MAX_HGT]; extern saved_floor_type saved_floors[MAX_SAVED_FLOORS]; extern s16b max_floor_id; @@ -696,10 +696,10 @@ extern void disturb(int stop_search, int flush_output); extern void glow_deep_lava_and_bldg(void); /* cmd1.c */ -extern bool test_hit_fire(int chance, int ac, int vis); +extern bool test_hit_fire(int chance, monster_type *m_ptr, int vis, char* o_name); extern bool test_hit_norm(int chance, int ac, int vis); -extern s16b critical_shot(int weight, int plus, int dam); -extern s16b critical_norm(int weight, int plus, int dam, s16b meichuu, int mode); +extern hit_point critical_shot(int weight, int plus_ammo, int plus_bow, hit_point dam); +extern hit_point critical_norm(int weight, int plus, hit_point dam, s16b meichuu, int mode); extern s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bool thrown); extern void search(void); extern void py_pickup_aux(int o_idx); @@ -707,9 +707,9 @@ extern void carry(bool pickup); extern bool py_attack(int y, int x, int mode); extern bool pattern_seq(int c_y, int c_x, int n_y, int n_x); extern bool player_can_enter(s16b feature, u16b mode); -extern bool move_player_effect(int ny, int nx, u32b mpe_mode); +extern bool move_player_effect(position ny, position 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 move_player(direction dir, bool do_pickup, bool break_trap); extern void run_step(int dir); #ifdef TRAVEL extern void travel_step(void); @@ -920,7 +920,7 @@ extern bool load_floor(saved_floor_type *sf_ptr, u32b mode); /* melee1.c */ /* melee2.c */ -extern bool make_attack_normal(int m_idx); +extern bool make_attack_normal(idx m_idx); extern void process_monsters(void); extern int get_mproc_idx(int m_idx, int mproc_type); extern void mproc_init(void); @@ -959,6 +959,7 @@ extern bool are_enemies(monster_type *m_ptr1, monster_type *m_ptr2); extern bool monster_has_hostile_align(monster_type *m_ptr, int pa_good, int pa_evil, monster_race *r_ptr); extern bool monster_living(monster_race *r_ptr); extern bool no_questor_or_bounty_uniques(int r_idx); +extern void dice_to_string(int base_damage, int dice_num, int dice_side, int dice_mult, int dice_div, char* msg); /* monster2.c */ @@ -1046,9 +1047,9 @@ extern void apply_magic(object_type *o_ptr, int lev, u32b mode); extern bool make_object(object_type *j_ptr, u32b mode); extern void place_object(int y, int x, u32b mode); extern bool make_gold(object_type *j_ptr); -extern void place_gold(int y, int x); +extern void place_gold(position y, position 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 acquirement(int y1, int x1, int num, bool great, bool special, 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); @@ -1076,6 +1077,7 @@ extern void do_cmd_kaji(bool only_browse); extern void torch_flags(object_type *o_ptr, u32b *flgs); extern void torch_dice(object_type *o_ptr, int *dd, int *ds); extern void torch_lost_fuel(object_type *o_ptr); +extern cptr essence_name[]; /* racial.c */ extern bool gain_magic(void); @@ -1236,8 +1238,8 @@ extern bool warding_glyph(void); extern bool place_mirror(void); extern bool explosive_rune(void); extern void identify_pack(void); -extern bool remove_curse(void); -extern bool remove_all_curse(void); +extern int remove_curse(void); +extern int remove_all_curse(void); extern bool alchemy(void); extern bool enchant(object_type *o_ptr, int n, int eflag); extern bool enchant_spell(int num_hit, int num_dam, int num_ac); @@ -1267,10 +1269,10 @@ extern int set_elec_destroy(object_type *o_ptr); extern int set_fire_destroy(object_type *o_ptr); extern int set_cold_destroy(object_type *o_ptr); extern int inven_damage(inven_func typ, int perc); -extern int acid_dam(int dam, cptr kb_str, int monspell); -extern int elec_dam(int dam, cptr kb_str, int monspell); -extern int fire_dam(int dam, cptr kb_str, int monspell); -extern int cold_dam(int dam, cptr kb_str, int monspell); +extern int acid_dam(int dam, cptr kb_str, int monspell, bool aura); +extern int elec_dam(int dam, cptr kb_str, int monspell, bool aura); +extern int fire_dam(int dam, cptr kb_str, int monspell, bool aura); +extern int cold_dam(int dam, cptr kb_str, int monspell, bool aura); extern bool rustproof(void); extern bool curse_armor(void); extern bool curse_weapon_object(bool force, object_type *o_ptr); @@ -1280,6 +1282,7 @@ extern bool polymorph_monster(int y, int x); extern bool dimension_door(void); extern bool mirror_tunnel(void); extern bool summon_kin_player(int level, int y, int x, u32b mode); +extern void massacre(void); /* store.c */ extern bool combine_and_reorder_home(int store_num); @@ -1291,7 +1294,6 @@ extern void move_to_black_market(object_type * o_ptr); /* bldg.c */ extern bool get_nightmare(int r_idx); -extern void have_nightmare(int r_idx); extern void battle_monsters(void); extern void do_cmd_bldg(void); extern void do_cmd_quest(void); @@ -1299,6 +1301,8 @@ extern void quest_discovery(int q_idx); extern int quest_number(int level); extern int random_quest_number(int level); extern bool tele_town(void); +extern s16b calc_crit_ratio_shot(int plus_ammo,int plus_bow); +extern s16b calc_expect_crit_shot(int weight, int plus_ammo,int plus_bow, int dam); extern s16b calc_expect_crit(int weight, int plus, int dam, s16b meichuu, bool dokubari); /* util.c */ @@ -1322,6 +1326,8 @@ extern errr fd_write(int fd, cptr buf, huge n); extern errr fd_close(int fd); extern void flush(void); extern void bell(void); +extern errr play_music(int type, int num); +extern void select_floor_music(void); extern void sound(int num); extern void move_cursor(int row, int col); extern void text_to_ascii(char *buf, cptr str); @@ -1332,12 +1338,14 @@ extern char inkey(void); extern cptr quark_str(s16b num); extern void quark_init(void); extern s16b quark_add(cptr str); -extern s16b message_num(void); +extern s32b message_num(void); extern cptr message_str(int age); extern void message_add(cptr msg); extern void msg_print(cptr msg); +extern void msg_print_wizard(int cheat_type, cptr msg); #ifndef SWIG extern void msg_format(cptr fmt, ...); +extern void msg_format_wizard(int cheat_type, cptr fmt, ...); #endif /* SWIG */ extern void screen_save(void); extern void screen_load(void); @@ -1388,6 +1396,9 @@ extern void prt_time(void); extern cptr map_name(void); extern u32b weight_limit(void); extern bool buki_motteruka(int i); +extern bool is_heavy_shoot(object_type *o_ptr); +extern int bow_tval_ammo(object_type *o_ptr); +extern s16b calc_num_fire(object_type *o_ptr); extern void calc_bonuses(void); extern void notice_stuff(void); extern void update_stuff(void); @@ -1397,55 +1408,56 @@ 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); +extern void update_playtime(void); /* effects.c */ extern void set_action(int typ); extern void reset_tim_flags(void); extern void dispel_player(void); -extern bool set_mimic(int v, int p, bool do_dec); -extern bool set_blind(int v); -extern bool set_confused(int v); -extern bool set_poisoned(int v); -extern bool set_afraid(int v); -extern bool set_paralyzed(int v); -extern bool set_image(int v); -extern bool set_fast(int v, bool do_dec); -extern bool set_slow(int v, bool do_dec); -extern bool set_shield(int v, bool do_dec); -extern bool set_tsubureru(int v, bool do_dec); -extern bool set_magicdef(int v, bool do_dec); -extern bool set_blessed(int v, bool do_dec); -extern bool set_hero(int v, bool do_dec); -extern bool set_shero(int v, bool do_dec); -extern bool set_protevil(int v, bool do_dec); -extern bool set_invuln(int v, bool do_dec); -extern bool set_tim_invis(int v, bool do_dec); -extern bool set_tim_infra(int v, bool do_dec); -extern bool set_tim_regen(int v, bool do_dec); -extern bool set_tim_stealth(int v, bool do_dec); -extern bool set_lightspeed(int v, bool do_dec); -extern bool set_tim_levitation(int v, bool do_dec); -extern bool set_tim_sh_touki(int v, bool do_dec); -extern bool set_tim_sh_fire(int v, bool do_dec); -extern bool set_tim_sh_holy(int v, bool do_dec); -extern bool set_tim_eyeeye(int v, bool do_dec); -extern bool set_resist_magic(int v, bool do_dec); -extern bool set_tim_reflect(int v, bool do_dec); -extern bool set_multishadow(int v, bool do_dec); -extern bool set_dustrobe(int v, bool do_dec); -extern bool set_kabenuke(int v, bool do_dec); -extern bool set_tsuyoshi(int v, bool do_dec); -extern bool set_ele_attack(u32b attack_type, int v); -extern bool set_ele_immune(u32b immune_type, int v); -extern bool set_oppose_acid(int v, bool do_dec); -extern bool set_oppose_elec(int v, bool do_dec); -extern bool set_oppose_fire(int v, bool do_dec); -extern bool set_oppose_cold(int v, bool do_dec); -extern bool set_oppose_pois(int v, bool do_dec); -extern bool set_stun(int v); -extern bool set_cut(int v); -extern bool set_food(int v); +extern bool set_mimic(time_effect v, int p, bool do_dec); +extern bool set_blind(time_effect v); +extern bool set_confused(time_effect v); +extern bool set_poisoned(time_effect v); +extern bool set_afraid(time_effect v); +extern bool set_paralyzed(time_effect v); +extern bool set_image(time_effect v); +extern bool set_fast(time_effect v, bool do_dec); +extern bool set_slow(time_effect v, bool do_dec); +extern bool set_shield(time_effect v, bool do_dec); +extern bool set_tsubureru(time_effect v, bool do_dec); +extern bool set_magicdef(time_effect v, bool do_dec); +extern bool set_blessed(time_effect v, bool do_dec); +extern bool set_hero(time_effect v, bool do_dec); +extern bool set_shero(time_effect v, bool do_dec); +extern bool set_protevil(time_effect v, bool do_dec); +extern bool set_invuln(time_effect v, bool do_dec); +extern bool set_tim_invis(time_effect v, bool do_dec); +extern bool set_tim_infra(time_effect v, bool do_dec); +extern bool set_tim_regen(time_effect v, bool do_dec); +extern bool set_tim_stealth(time_effect v, bool do_dec); +extern bool set_lightspeed(time_effect v, bool do_dec); +extern bool set_tim_levitation(time_effect v, bool do_dec); +extern bool set_tim_sh_touki(time_effect v, bool do_dec); +extern bool set_tim_sh_fire(time_effect v, bool do_dec); +extern bool set_tim_sh_holy(time_effect v, bool do_dec); +extern bool set_tim_eyeeye(time_effect v, bool do_dec); +extern bool set_resist_magic(time_effect v, bool do_dec); +extern bool set_tim_reflect(time_effect v, bool do_dec); +extern bool set_multishadow(time_effect v, bool do_dec); +extern bool set_dustrobe(time_effect v, bool do_dec); +extern bool set_kabenuke(time_effect v, bool do_dec); +extern bool set_tsuyoshi(time_effect v, bool do_dec); +extern bool set_ele_attack(u32b attack_type, time_effect v); +extern bool set_ele_immune(u32b immune_type, time_effect v); +extern bool set_oppose_acid(time_effect v, bool do_dec); +extern bool set_oppose_elec(time_effect v, bool do_dec); +extern bool set_oppose_fire(time_effect v, bool do_dec); +extern bool set_oppose_cold(time_effect v, bool do_dec); +extern bool set_oppose_pois(time_effect v, bool do_dec); +extern bool set_stun(time_effect v); +extern bool set_cut(time_effect v); +extern bool set_food(time_effect v); extern bool inc_stat(int stat); extern bool dec_stat(int stat, int amount, int permanent); extern bool res_stat(int stat); @@ -1459,15 +1471,15 @@ extern void gain_exp_64(s32b amount, u32b amount_frac); extern void gain_exp(s32b amount); extern void calc_android_exp(void); extern void lose_exp(s32b amount); -extern bool drain_exp(s32b drain, s32b slip, int hold_life_prob); +extern bool drain_exp(s32b drain, s32b slip, int hold_exp_prob); extern void do_poly_self(void); -extern bool set_ultimate_res(int v, bool do_dec); -extern bool set_tim_res_nether(int v, bool do_dec); -extern bool set_tim_res_time(int v, bool do_dec); +extern bool set_ultimate_res(time_effect v, bool do_dec); +extern bool set_tim_res_nether(time_effect v, bool do_dec); +extern bool set_tim_res_time(time_effect v, bool do_dec); extern bool choose_ele_attack(void); -extern bool choose_ele_immune(int turn); -extern bool set_wraith_form(int v, bool do_dec); -extern bool set_tim_esp(int v, bool do_dec); +extern bool choose_ele_immune(time_effect turn); +extern bool set_wraith_form(time_effect v, bool do_dec); +extern bool set_tim_esp(time_effect v, bool do_dec); extern bool set_superstealth(bool set); /* xtra2.c */ @@ -1490,7 +1502,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 void target_set_prepare_look(void); extern bool get_aim_dir(int *dp); extern bool get_hack_dir(int *dp); extern bool get_rep_dir(int *dp, bool under); @@ -1499,7 +1511,7 @@ extern void gain_level_reward(int chosen_reward); extern bool tgt_pt (int *x, int *y); extern void do_poly_wounds(void); extern void change_race(int new_race, cptr effect_msg); -extern int mon_damage_mod(monster_type *m_ptr, int dam, bool is_psy_spear); +extern hit_point mon_damage_mod(monster_type *m_ptr, hit_point dam, bool is_psy_spear); extern s16b gain_energy(void); extern s16b bow_energy(int sval); extern int bow_tmul(int sval); @@ -1509,18 +1521,6 @@ 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); -extern bool summon_possible(int y1, int x1); -extern bool raise_possible(monster_type *m_ptr); -extern bool dispel_check(int m_idx); -extern bool spell_is_inate(u16b spell); -extern bool make_attack_spell(int m_idx); - -/* mspells2.c */ -extern void get_project_point(int sy, int sx, int *ty, int *tx, int flg); -extern bool monst_spell_monst(int m_idx); - /* artifact.c */ extern void one_sustain(object_type *o_ptr); extern void one_high_resistance(object_type *o_ptr); @@ -1551,7 +1551,7 @@ extern void race_score(int race_num); extern void show_highclass(void); /* mind.c */ -extern mind_power mind_powers[5]; +extern mind_power const mind_powers[5]; extern void mindcraft_info(char *p, int use_mind, int power); extern void do_cmd_mind(void); extern void do_cmd_mind_browse(void); @@ -1559,11 +1559,45 @@ extern void do_cmd_mind_browse(void); /* mane.c */ extern bool do_cmd_mane(bool baigaesi); +/* mspells1.c */ +extern bool clean_shot(int y1, int x1, int y2, int x2, bool is_friend); +extern bool summon_possible(int y1, int x1); +extern bool raise_possible(monster_type *m_ptr); +extern bool dispel_check(int m_idx); +extern bool spell_is_inate(u16b spell); +extern bool make_attack_spell(int m_idx); +extern void beam(int m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type); +extern void bolt(int m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type); +extern void breath(int y, int x, int m_idx, int typ, int dam_hp, int rad, bool breath, int monspell, int target_type); + +/* mspells1.c */ +extern bool clean_shot(int y1, int x1, int y2, int x2, bool is_friend); +extern bool summon_possible(int y1, int x1); +extern bool raise_possible(monster_type *m_ptr); +extern bool dispel_check(int m_idx); +extern bool spell_is_inate(u16b spell); +extern bool make_attack_spell(int m_idx); +extern void beam(int m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type); +extern void bolt(int m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type); +extern void breath(int y, int x, int m_idx, int typ, int dam_hp, int rad, bool breath, int monspell, int target_type); + +/* mspells2.c */ +extern void get_project_point(int sy, int sx, int *ty, int *tx, int flg); +extern bool monst_spell_monst(int m_idx); + /* mspells3.c */ extern bool do_cmd_cast_learned(void); extern void learn_spell(int monspell); extern void set_rf_masks(s32b *f4, s32b *f5, s32b *f6, int mode); +/* mspells4.c */ +extern bool spell_learnable(int m_idx); +extern int monspell_to_player(int SPELL_NUM, int y, int x, int m_idx); +extern int monspell_to_monster(int SPELL_NUM, int y, int x, int m_idx, int t_idx); +extern int monspell_damage(int SPELL_NUM, int m_idx, int TYPE); +extern int monspell_race_damage(int SPELL_NUM, int r_idx, int TYPE); +extern int monspell_bluemage_damage(int SPELL_NUM, int plev, int TYPE); + /* hissatsu.c */ extern void hissatsu_info(char *p, int power); extern void do_cmd_hissatsu(void); @@ -1720,14 +1754,12 @@ extern void dump_virtues(FILE * OutFile); #ifdef JP /* japanese.c */ extern void sindarin_to_kana(char *kana, const char *sindarin); -extern void jverb1( const char *in , char *out); -extern void jverb2( const char *in , char *out); -extern void jverb3( const char *in , char *out); extern void jverb( const char *in , char *out , int flag); extern void sjis2euc(char *str); extern void euc2sjis(char *str); extern byte codeconv(char *str); extern bool iskanji2(cptr s, int x); +extern void guess_convert_to_system_encoding(char* strbuf, int buflen); #endif #ifdef WORLD_SCORE @@ -1783,9 +1815,8 @@ 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_spell(void); 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); -