X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fexterns.h;h=a408f62458c7df87b60518e5421c2c84bb388e65;hb=65f1bf941932b6d02fdba31cfc3f95dea7ef3e6e;hp=8398d711d6d38826972f7de0a881922fb48bf2ed;hpb=acfedf5b4b5fac4863648d12c38bd5267bb7e5a3;p=hengband%2Fhengband.git diff --git a/src/externs.h b/src/externs.h index 8398d711d..a408f6245 100644 --- a/src/externs.h +++ b/src/externs.h @@ -93,7 +93,6 @@ 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]; @@ -116,6 +115,10 @@ extern const dragonbreath_type dragonbreath_info[]; extern const activation_type activation_info[]; extern const cptr artifact_bias_name[MAX_BIAS]; +extern const option_type option_info[]; +extern const option_type cheat_info[CHEAT_MAX]; +extern const option_type autosave_info[2]; + /* variable.c */ extern const cptr copyright[5]; extern byte h_ver_major; @@ -158,7 +161,7 @@ extern s16b command_wrk; extern s16b command_new; extern bool msg_flag; extern s16b running; -extern s16b resting; +extern GAME_TURN resting; extern POSITION cur_hgt; extern POSITION cur_wid; extern DEPTH dun_level; @@ -166,6 +169,7 @@ extern s16b num_repro; extern DEPTH object_level; extern DEPTH monster_level; extern DEPTH base_level; +extern bool invoking_midnight_curse; extern s32b turn; extern s32b turn_limit; extern s32b dungeon_turn; @@ -188,7 +192,6 @@ extern bool shimmer_monsters; extern bool shimmer_objects; extern bool repair_monsters; extern bool repair_objects; -extern s16b inven_nxt; extern s16b inven_cnt; extern s16b equip_cnt; extern s16b o_max; @@ -203,7 +206,7 @@ extern int leaving_quest; extern bool reinit_wilderness; extern bool multi_rew; extern char summon_kin_type; -extern bool hack_mind; +extern bool is_loading_now; extern bool hack_mutation; @@ -282,7 +285,7 @@ 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 */ - +extern bool show_actual_value; /* Show actual value of skill */ /*** Game-Play Options ***/ @@ -383,6 +386,7 @@ extern bool cheat_live; extern bool cheat_save; extern bool cheat_diary_output; extern bool cheat_turn; +extern bool cheat_sight; extern char record_o_name[MAX_NLEN]; extern s32b record_turn; @@ -405,19 +409,19 @@ extern int player_egid; extern char player_base[32]; extern char savefile[1024]; extern char savefile_base[40]; -extern s16b lite_n; +extern POSITION_IDX lite_n; extern POSITION lite_y[LITE_MAX]; extern POSITION lite_x[LITE_MAX]; -extern s16b mon_lite_n; +extern POSITION_IDX mon_lite_n; extern POSITION mon_lite_y[MON_LITE_MAX]; extern POSITION mon_lite_x[MON_LITE_MAX]; -extern s16b view_n; +extern POSITION_IDX view_n; extern POSITION view_y[VIEW_MAX]; extern POSITION view_x[VIEW_MAX]; -extern s16b temp_n; +extern POSITION_IDX temp_n; extern POSITION temp_y[TEMP_MAX]; extern POSITION temp_x[TEMP_MAX]; -extern s16b redraw_n; +extern POSITION_IDX redraw_n; extern POSITION redraw_y[REDRAW_MAX]; extern POSITION redraw_x[REDRAW_MAX]; extern s16b macro__num; @@ -425,7 +429,7 @@ extern cptr *macro__pat; extern cptr *macro__act; extern bool *macro__cmd; extern char *macro__buf; -extern s16b quark__num; +extern STR_OFFSET quark__num; extern cptr *quark__str; extern u32b message__next; extern u32b message__last; @@ -521,12 +525,12 @@ extern bool monk_armour_aux; extern bool monk_notify_aux; extern wilderness_type **wilderness; extern building_type building[MAX_BLDG]; -extern QUEST_IDX max_quests; +extern QUEST_IDX max_q_idx; extern MONRACE_IDX max_r_idx; extern IDX max_k_idx; extern IDX max_v_idx; extern IDX max_f_idx; -extern IDX max_a_idx; +extern ARTIFACT_IDX max_a_idx; extern IDX max_e_idx; extern DUNGEON_IDX max_d_idx; extern OBJECT_IDX max_o_idx; @@ -696,15 +700,12 @@ 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, monster_type *m_ptr, int vis, char* o_name); extern bool test_hit_norm(int chance, int ac, int vis); 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, BIT_FLAGS mode); extern s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, BIT_FLAGS mode, bool thrown); extern void search(void); extern void py_pickup_aux(int o_idx); extern void carry(bool pickup); -extern bool py_attack(int y, int x, BIT_FLAGS 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(POSITION ny, POSITION nx, u32b mpe_mode); @@ -734,31 +735,11 @@ extern void do_cmd_run(void); extern void do_cmd_rest(void); 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, OBJECT_IDX shuriken); +extern bool do_cmd_throw(int mult, bool boomerang, OBJECT_IDX shuriken); #ifdef TRAVEL extern void do_cmd_travel(void); #endif -/* cmd3.c */ -extern void do_cmd_inven(void); -extern void do_cmd_equip(void); -extern void do_cmd_wield(void); -extern void do_cmd_takeoff(void); -extern void do_cmd_drop(void); -extern void do_cmd_destroy(void); -extern void do_cmd_observe(void); -extern void do_cmd_uninscribe(void); -extern void do_cmd_inscribe(void); -extern void do_cmd_refill(void); -extern void do_cmd_target(void); -extern void do_cmd_look(void); -extern void do_cmd_locate(void); -extern void do_cmd_query_symbol(void); -extern void kamaenaoshi(int item); -extern bool ang_sort_comp_hook(vptr u, vptr v, int a, int b); -extern void ang_sort_swap_hook(vptr u, vptr v, int a, int b); - /* cmd4.c */ #ifndef JP extern cptr get_ordinal_number_suffix(int num); @@ -796,30 +777,11 @@ extern cptr spell_category_name(OBJECT_TYPE_VALUE tval); extern void do_cmd_browse(void); extern void do_cmd_study(void); extern void do_cmd_cast(void); -extern bool rakuba(HIT_POINT dam, bool force); -extern bool do_riding(bool force); -extern void check_pets_num_and_align(monster_type *m_ptr, bool inc); -extern int calculate_upkeep(void); -extern void do_cmd_pet_dismiss(void); -extern void do_cmd_pet(void); - -/* cmd6.c */ -extern void do_cmd_eat_food(void); -extern void do_cmd_quaff_potion(void); -extern void do_cmd_read_scroll(void); -extern void do_cmd_aim_wand(void); -extern void do_cmd_use_staff(void); -extern void do_cmd_zap_rod(void); -extern void do_cmd_activate(void); -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 bool do_cmd_magic_eater(bool only_browse, bool powerful); -/* do-spell.c */ +/* cmd-spell.c */ extern void stop_singing(void); extern cptr do_spell(REALM_IDX realm, SPELL_IDX spell, BIT_FLAGS mode); +extern bool trump_summoning(int num, bool pet, POSITION y, POSITION x, DEPTH lev, int type, BIT_FLAGS mode); /* dungeon.c */ extern void leave_quest_check(void); @@ -828,11 +790,11 @@ extern void extract_option_vars(void); extern void determine_bounty_uniques(void); extern void determine_today_mon(bool conv_old); extern void play_game(bool new_game); -extern bool psychometry(void); -extern void leave_level(int level); -extern void enter_level(int level); extern s32b turn_real(s32b hoge); extern void prevent_turn_overflow(void); +extern byte value_check_aux1(object_type *o_ptr); +extern byte value_check_aux2(object_type *o_ptr); + /* files.c */ @@ -894,11 +856,6 @@ extern void leave_floor(void); extern void change_floor(void); extern void stair_creation(void); -/* generate.c */ -extern bool place_quest_monsters(void); -extern void wipe_generate_cave_flags(void); -extern void clear_cave(void); -extern void generate_cave(void); /* init1.c */ extern byte color_char_to_attr(char c); @@ -919,9 +876,13 @@ extern errr rd_savefile_new(void); extern bool load_floor(saved_floor_type *sf_ptr, BIT_FLAGS mode); /* melee1.c */ -/* melee2.c */ +/* monster-process.c */ +extern bool test_hit_fire(int chance, monster_type *m_ptr, int vis, char* o_name); +extern HIT_POINT critical_norm(int weight, int plus, HIT_POINT dam, s16b meichuu, BIT_FLAGS mode); +extern bool py_attack(POSITION y, POSITION x, BIT_FLAGS mode); extern bool make_attack_normal(MONSTER_IDX m_idx); extern void process_monsters(void); +extern void process_monster(MONSTER_IDX m_idx); extern int get_mproc_idx(MONSTER_IDX m_idx, int mproc_type); extern void mproc_init(void); extern bool set_monster_csleep(MONSTER_IDX m_idx, int v); @@ -945,16 +906,15 @@ extern void screen_roff(MONRACE_IDX r_idx, BIT_FLAGS mode); extern void display_roff(MONRACE_IDX r_idx); extern void output_monster_spoiler(MONRACE_IDX r_idx, void (*roff_func)(byte attr, cptr str)); extern void create_name(int type, char *name); -extern bool mon_hook_dungeon(MONRACE_IDX r_idx); extern monster_hook_type get_monster_hook(void); -extern monster_hook_type get_monster_hook2(int y, int x); +extern monster_hook_type get_monster_hook2(POSITION y, POSITION x); extern void set_friendly(monster_type *m_ptr); extern void set_pet(monster_type *m_ptr); extern void set_hostile(monster_type *m_ptr); extern void anger_monster(monster_type *m_ptr); extern bool monster_can_cross_terrain(s16b feat, monster_race *r_ptr, u16b mode); -extern bool monster_can_enter(int y, int x, monster_race *r_ptr, u16b mode); +extern bool monster_can_enter(POSITION y, POSITION x, monster_race *r_ptr, u16b mode); 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); @@ -986,7 +946,7 @@ extern bool place_monster_aux(MONSTER_IDX who, POSITION y, POSITION x, MONRACE_I extern bool place_monster(POSITION y, POSITION x, BIT_FLAGS mode); extern bool alloc_horde(POSITION y, POSITION x); extern bool alloc_guardian(bool def_val); -extern bool alloc_monster(int dis, BIT_FLAGS mode); +extern bool alloc_monster(POSITION dis, BIT_FLAGS mode); extern bool summon_specific(MONSTER_IDX who, POSITION y1, POSITION x1, DEPTH lev, int type, BIT_FLAGS mode); extern bool summon_named_creature (MONSTER_IDX who, POSITION oy, POSITION ox, MONRACE_IDX r_idx, BIT_FLAGS mode); extern bool multiply_monster(MONSTER_IDX m_idx, bool clone, BIT_FLAGS mode); @@ -1048,13 +1008,9 @@ extern bool make_object(object_type *j_ptr, BIT_FLAGS mode); extern void place_object(POSITION y, POSITION x, BIT_FLAGS mode); extern bool make_gold(object_type *j_ptr); 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 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); -extern void disclose_grid(int y, int x); -extern void place_trap(int y, int x); +extern OBJECT_IDX drop_near(object_type *o_ptr, PERCENTAGE chance, POSITION y, POSITION x); +extern void acquirement(POSITION y1, POSITION x1, int num, bool great, bool special, bool known); +extern void amusement(POSITION y1, POSITION x1, int num, bool known); extern void inven_item_charges(int item); extern void inven_item_describe(int item); extern void inven_item_increase(int item, int num); @@ -1090,6 +1046,7 @@ extern void remove_loc(void); extern bool save_floor(saved_floor_type *sf_ptr, BIT_FLAGS mode); /* spells1.c */ +extern int beam_chance(void); extern bool in_disintegration_range(POSITION y1, POSITION x1, POSITION y2, POSITION x2); extern void breath_shape(u16b *path_g, int dist, int *pgrids, POSITION *gx, POSITION *gy, POSITION *gm, POSITION *pgm_rad, POSITION rad, POSITION y1, POSITION x1, POSITION y2, POSITION x2, int typ); extern int take_hit(int damage_type, HIT_POINT damage, cptr kb_str, int monspell); @@ -1103,7 +1060,6 @@ extern void seal_of_mirror(HIT_POINT dam); /* spells2.c */ extern void message_pain(MONSTER_IDX m_idx, HIT_POINT dam); -extern void self_knowledge(void); extern bool detect_traps(POSITION range, bool known); extern bool detect_doors(POSITION range); extern bool detect_stairs(POSITION range); @@ -1138,14 +1094,15 @@ extern bool dispel_living(HIT_POINT dam); extern bool dispel_demons(HIT_POINT dam); extern bool crusade(void); extern bool turn_undead(void); -extern bool destroy_area(int y1, int x1, int r, bool in_generate); -extern bool earthquake_aux(int cy, int cx, int r, MONSTER_IDX m_idx); -extern bool earthquake(int cy, int cx, int r); +extern bool destroy_area(POSITION y1, POSITION x1, POSITION r, bool in_generate); +extern bool earthquake_aux(POSITION cy, POSITION cx, POSITION r, MONSTER_IDX m_idx); +extern bool earthquake(POSITION cy, POSITION cx, POSITION r); extern void lite_room(int y1, int x1); extern void unlite_room(int y1, int x1); extern bool lite_area(HIT_POINT dam, int rad); extern bool unlite_area(HIT_POINT dam, int rad); extern bool fire_ball(int typ, int dir, HIT_POINT dam, int rad); +extern bool fire_breath(int typ, int dir, HIT_POINT dam, int rad); extern bool fire_rocket(int typ, int dir, HIT_POINT dam, int rad); extern bool fire_ball_hide(int typ, int dir, HIT_POINT dam, int rad); extern bool fire_meteor(MONSTER_IDX who, EFFECT_ID typ, POSITION x, POSITION y, HIT_POINT dam, POSITION rad); @@ -1155,7 +1112,7 @@ extern void call_chaos(void); extern bool fire_beam(int typ, int dir, HIT_POINT dam); extern bool fire_bolt_or_beam(int prob, int typ, int dir, HIT_POINT dam); extern bool lite_line(int dir, HIT_POINT dam); -extern bool drain_life(int dir, HIT_POINT dam); +extern bool hypodynamic_bolt(int dir, HIT_POINT dam); extern bool death_ray(int dir, int plev); extern bool wall_to_mud(int dir, HIT_POINT dam); extern bool destroy_door(int dir); @@ -1198,12 +1155,9 @@ extern bool charm_monster(int dir, int plev); extern bool control_one_undead(int dir, int plev); extern bool control_one_demon(int dir, int plev); extern bool charm_animal(int dir, int plev); -extern bool charm_living(int dir, int plev); extern bool mindblast_monsters(HIT_POINT dam); extern s32b flag_cost(object_type *o_ptr, int plusses); -extern void report_magics(void); extern bool teleport_swap(int dir); -extern bool item_tester_hook_recharge(object_type *o_ptr); extern bool project_hook(int typ, int dir, HIT_POINT dam, BIT_FLAGS flg); extern bool project_hack(int typ, HIT_POINT dam); extern bool eat_magic(int power); @@ -1211,6 +1165,26 @@ extern void discharge_minion(void); extern bool kawarimi(bool success); extern bool rush_attack(bool *mdeath); extern void remove_all_mirrors(bool explode); +extern void ring_of_power(int dir); +extern void wild_magic(int spell); +extern void cast_meteor(HIT_POINT dam, int rad); +extern bool cast_wrath_of_the_god(HIT_POINT dam, int rad); +extern void cast_wonder(int dir); +extern void cast_invoke_spirits(int dir); +extern void cast_shuffle(void); +extern bool_hack life_stream(bool_hack message, bool_hack virtue); +extern bool_hack heroism(int base); +extern bool_hack berserk(int base); +extern bool_hack cure_light_wounds(int dice, int sides); +extern bool_hack cure_serious_wounds(int dice, int sides); +extern bool_hack cure_critical_wounds(HIT_POINT pow); +extern bool_hack true_healing(HIT_POINT pow); +extern bool_hack restore_mana(bool_hack magic_eater); +extern bool restore_all_status(void); +extern void stop_mouth(void); +extern bool_hack vampirism(void); +extern bool panic_hit(void); +extern bool psychometry(void); /* spells3.c */ extern bool teleport_away(MONSTER_IDX m_idx, int dis, BIT_FLAGS mode); @@ -1255,9 +1229,9 @@ extern bool potion_smash_effect(MONSTER_IDX who, POSITION y, POSITION x, KIND_OB extern void display_spell_list(void); extern s16b experience_of_spell(int spell, int realm); extern int mod_need_mana(int need_mana, int spell, int realm); -extern int mod_spell_chance_1(int chance); -extern int mod_spell_chance_2(int chance); -extern s16b spell_chance(int spell,int realm); +extern PERCENTAGE mod_spell_chance_1(PERCENTAGE chance); +extern PERCENTAGE mod_spell_chance_2(PERCENTAGE chance); +extern PERCENTAGE spell_chance(SPELL_IDX spell, REALM_IDX realm); extern bool spell_okay(int spell, bool learned, bool study_pray, int realm); extern void print_spells(SPELL_IDX target_spell, SPELL_IDX *spells, int num, TERM_POSITION y, TERM_POSITION x, REALM_IDX realm); extern bool hates_acid(object_type *o_ptr); @@ -1337,7 +1311,7 @@ extern sint macro_find_exact(cptr pat); extern char inkey(void); extern cptr quark_str(STR_OFFSET num); extern void quark_init(void); -extern s16b quark_add(cptr str); +extern u16b quark_add(cptr str); extern s32b message_num(void); extern cptr message_str(int age); extern void message_add(cptr msg); @@ -1394,7 +1368,7 @@ extern bool is_daytime(void); extern void extract_day_hour_min(int *day, int *hour, int *min); extern void prt_time(void); extern cptr map_name(void); -extern u32b weight_limit(void); +extern WEIGHT 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); @@ -1513,7 +1487,7 @@ extern void do_poly_wounds(void); extern void change_race(CHARACTER_IDX new_race, cptr effect_msg); 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(OBJECT_SUBTYPE_VALUE sval); +extern ENERGY bow_energy(OBJECT_SUBTYPE_VALUE sval); extern int bow_tmul(OBJECT_SUBTYPE_VALUE sval); extern cptr your_alignment(void); extern int weapon_exp_level(int weapon_exp); @@ -1532,11 +1506,9 @@ extern void one_ability(object_type *o_ptr); extern void one_activation(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); +extern bool create_named_art(ARTIFACT_IDX a_idx, POSITION y, POSITION x); /* scores.c */ extern void display_scores_aux(int from, int to, int note, high_score *score); @@ -1597,6 +1569,7 @@ extern MULTIPLY mult_hissatsu(MULTIPLY mult, BIT_FLAGS *flgs, monster_type *m_pt extern int count_bits(BIT_FLAGS x); extern bool gain_random_mutation(int choose_mut); extern bool lose_mutation(int choose_mut); +extern void lose_all_mutations(void); extern void dump_mutations(FILE *OutFile); extern void do_cmd_knowledge_mutations(void); extern int calc_mutant_regenerate_mod(void); @@ -1729,6 +1702,8 @@ extern void spoil_random_artifact(cptr fname); /* wizard2.c */ extern void strip_name(char *buf, KIND_OBJECT_IDX k_idx); +extern void do_cmd_rerate_aux(void); +extern void do_cmd_rerate(bool display); /* avatar.c */ extern bool compare_virtue(int type, int num, int tekitou); @@ -1758,6 +1733,7 @@ extern cptr make_screen_dump(void); /* inet.c */ extern int soc_write(int sd, char *buf, size_t sz); +extern int soc_read(int sd, char *buf, size_t sz); extern void set_proxy(char *default_url, int default_port); extern int connect_server(int timeout, const char *host, int port); extern int disconnect_server(int sd); @@ -1808,3 +1784,8 @@ extern void revenge_store(HIT_POINT dam); extern bool teleport_barrier(MONSTER_IDX m_idx); extern bool magic_barrier(MONSTER_IDX m_idx); extern bool multiply_barrier(MONSTER_IDX m_idx); + +extern void kamaenaoshi(int item); + +extern bool ang_sort_comp_hook(vptr u, vptr v, int a, int b); +extern void ang_sort_swap_hook(vptr u, vptr v, int a, int b);