/* ÆüËܸìÈǵ¡Ç½ÄɲäǻȤ¦ */
extern int level_up;
+/*
+ * List for auto-picker/destroyer entries
+ */
extern int max_autopick;
-extern cptr autopick_name[MAX_AUTOPICK];
-extern cptr autopick_insc[MAX_AUTOPICK];
-extern byte autopick_action[MAX_AUTOPICK];
+extern autopick_type autopick_list[MAX_AUTOPICK];
/* tables.c */
extern s16b ddd[9];
extern kamae kata_shurui[MAX_KATA];
extern cptr shougou_moji[5];
extern byte conv_terrain2feat[MAX_WILDERNESS];
+extern cptr silly_attacks[MAX_SILLY_ATTACK];
extern monster_power monster_powers[MAX_MONSPELLS];
/* variable.c */
extern cptr copyright[5];
-extern byte version_major;
-extern byte version_minor;
-extern byte version_patch;
-extern byte version_extra;
-extern byte sf_major;
-extern byte sf_minor;
-extern byte sf_patch;
+extern byte h_ver_major;
+extern byte h_ver_minor;
+extern byte h_ver_patch;
+extern byte h_ver_extra;
extern byte sf_extra;
-extern u32b sf_version;
-extern u32b sf_xtra;
+extern u32b sf_system;
extern byte z_major;
extern byte z_minor;
extern byte z_patch;
extern bool arg_monochrome;
extern bool arg_force_original;
extern bool arg_force_roguelike;
+extern bool arg_bigtile;
extern bool character_generated;
extern bool character_dungeon;
extern bool character_loaded;
extern byte create_up_stair;
extern byte create_down_stair;
extern bool msg_flag;
-extern bool alive;
-extern bool death;
extern s16b running;
extern s16b resting;
extern s16b cur_hgt;
extern s32b dungeon_turn;
extern s32b old_turn;
extern s32b old_battle;
-extern bool wizard;
extern bool use_sound;
extern bool use_graphics;
-extern u16b total_winner;
-extern u16b panic_save;
-extern u16b noscore;
-extern bool wait_report_score;
+extern bool use_bigtile;
extern s16b signal_count;
extern bool inkey_base;
extern bool inkey_xtra;
extern bool inkey_scan;
extern bool inkey_flag;
+extern bool inkey_special;
extern s16b coin_type;
extern bool opening_chest;
extern bool shimmer_monsters;
extern char summon_kin_type;
extern bool hack_mind;
extern bool hack_mutation;
-extern int artifact_bias;
extern bool show_item_graph;
extern bool rogue_like_commands;
extern bool quick_messages;
extern bool disturb_panel;
extern bool disturb_state;
extern bool disturb_minor;
-extern bool avoid_abort;
+extern bool check_abort;
extern bool avoid_other;
extern bool flush_disturb;
extern bool flush_failure;
extern bool fresh_after;
extern bool fresh_message;
extern bool alert_hitpoint;
+extern bool disturb_trap_detect;
+extern bool alert_trap_detect;
extern bool view_yellow_lite;
extern bool view_bright_lite;
extern bool view_granite_lite;
extern bool always_show_list;
extern bool powerup_home;
-extern bool old_way_of_kaz;
+extern bool change_numeral;
extern bool send_score;
-extern bool skip_mutations; /* Skip mutations screen in 'C'haracter display */
+extern bool display_mutations; /* Skip mutations screen in 'C'haracter display */
extern bool plain_descriptions;
extern bool stupid_monsters;
extern bool confirm_destroy;
-extern bool wear_confirm;
+extern bool confirm_wear;
extern bool confirm_stairs;
extern bool disturb_pets;
extern bool view_perma_grids;
extern bool view_torch_grids;
+extern bool view_unsafe_grids;
extern bool track_follow;
extern bool track_target;
extern bool stack_allow_items;
-extern bool stack_allow_wands;
extern bool stack_force_notes;
extern bool stack_force_costs;
extern bool view_reduce_lite;
extern bool center_player;
extern bool center_running;
extern bool destroy_items;
+extern bool destroy_feeling;
+extern bool destroy_identify;
extern bool leave_worth;
extern bool leave_equip;
extern bool leave_wanted;
extern s16b rating;
extern bool good_item_flag;
extern bool closing_flag;
-extern s16b max_panel_rows, max_panel_cols;
-extern s16b panel_row, panel_col;
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 player_egid;
extern char player_name[32];
extern char player_base[32];
-extern char died_from[80];
-extern char history[4][60];
extern char savefile[1024];
extern char savefile_base[40];
extern s16b lite_n;
extern player_class *cp_ptr;
extern player_seikaku *ap_ptr;
extern player_magic *mp_ptr;
-extern u32b spell_learned1;
-extern u32b spell_learned2;
-extern u32b spell_worked1;
-extern u32b spell_worked2;
-extern u32b spell_forgotten1;
-extern u32b spell_forgotten2;
-extern byte spell_order[64];
-extern s16b player_hp[PY_MAX_LEVEL];
-extern header *v_head;
+extern birther previous_char;
extern vault_type *v_info;
extern char *v_name;
extern char *v_text;
-extern header *s_head;
extern skill_table *s_info;
extern char *s_name;
extern char *s_text;
-extern header *m_head;
extern player_magic *m_info;
extern char *m_name;
extern char *m_text;
-extern header *f_head;
extern feature_type *f_info;
extern char *f_name;
-#ifdef JP
-extern char *E_f_name; /* ±Ñ¸ìÃÏ·Á̾ */
-#endif
extern char *f_text;
-extern header *k_head;
extern object_kind *k_info;
extern char *k_name;
-#ifdef JP
-extern char *E_k_name; /* ±Ñ¸ì¥¢¥¤¥Æ¥à̾ */
-#endif
extern char *k_text;
-extern header *a_head;
extern artifact_type *a_info;
extern char *a_name;
-#ifdef JP
-extern char *E_a_name; /* ±Ñ¸ìÅÁÀâ¤Î¥¢¥¤¥Æ¥à̾ */
-#endif
extern char *a_text;
-extern header *e_head;
extern ego_item_type *e_info;
extern char *e_name;
-#ifdef JP
-extern char *E_e_name; /* ±Ñ¸ì̾¤Î¤¢¤ë¥¢¥¤¥Æ¥à̾ */
-#endif
extern char *e_text;
-extern header *r_head;
extern monster_race *r_info;
extern char *r_name;
-#ifdef JP
-extern char *E_r_name; /* ±Ñ¸ì¥â¥ó¥¹¥¿¡¼Ì¾ */
-#endif
extern char *r_text;
-extern header *d_head;
extern dungeon_info_type *d_info;
extern char *d_name;
extern char *d_text;
extern s16b gf_color[MAX_GF];
extern int init_flags;
extern int highscore_fd;
-extern bool monster_terrain_sensitive;
extern int mutant_regenerate_mod;
extern bool easy_band;
extern bool vanilla_town;
extern bool preserve_mode;
extern bool autoroller;
extern bool autochara;
-extern bool use_transparency;
extern bool can_save;
-extern s16b spell_exp[64];
-extern s16b weapon_exp[5][64];
-extern s16b skill_exp[10];
extern bool world_monster;
extern bool world_player;
-extern s16b mane_spell[MAX_MANE];
-extern s16b mane_dam[MAX_MANE];
-extern s16b mane_num;
extern int cap_mon;
extern int cap_mspeed;
extern int cap_hp;
extern int riding_t_m_idx;
extern s16b kubi_r_idx[MAX_KUBI];
extern s16b today_mon;
-extern monster_type riding_mon;
-extern monster_type party_mon[20];
+extern monster_type party_mon[21];
extern bool write_level;
extern u32b playtime;
extern u32b start_time;
extern bool mon_fight;
extern bool ambush_flag;
extern bool generate_encounter;
+extern cptr screen_dump;
extern byte dungeon_type;
extern s16b *max_dlv;
extern byte feat_wall_outer;
extern s16b now_message;
extern bool use_menu;
+/* autopick.c */
+extern cptr autopick_line_from_entry(autopick_type *entry);
+extern bool autopick_new_entry(autopick_type *entry, cptr str);
+extern void autopick_free_entry(autopick_type *entry);
+extern int is_autopick(object_type *o_ptr);
+extern void auto_inscribe_item(int item, int idx);
+extern bool auto_destroy_item(int item, int autopick_idx);
+extern void delayed_auto_destroy(void);
+extern void auto_pickup_items(cave_type *c_ptr);
+extern void autopick_entry_from_object(autopick_type *entry, object_type *o_ptr);
+extern void init_autopicker(void);
+extern errr process_pickpref_file_line(char *buf);
+extern void do_cmd_edit_autopick(void);
+
/* birth.c */
extern void player_birth(void);
extern void get_max_stats(void);
/* cave.c */
extern int distance(int y1, int x1, int y2, int x2);
extern bool is_trap(int feat);
+extern bool is_known_trap(cave_type *c_ptr);
+extern bool is_closed_door(int feat);
+extern bool is_hidden_door(cave_type *c_ptr);
extern bool los(int y1, int x1, int y2, int x2);
extern bool player_can_see_bold(int y, int x);
extern bool cave_valid_bold(int y, int x);
extern void clear_mon_lite(void);
extern void forget_flow(void);
extern void update_flow(void);
+extern void update_smell(void);
extern void map_area(int range);
extern void wiz_lite(bool wizard, bool ninja);
extern void wiz_dark(void);
extern void cave_set_feat(int y, int x, int feat);
+extern void remove_mirror(int y, int x);
+extern bool is_mirror_grid(cave_type *c_ptr);
+extern bool is_glyph_grid(cave_type *c_ptr);
+extern bool is_explosive_rune_grid(cave_type *c_ptr);
extern void mmove2(int *y, int *x, int y1, int x1, int y2, int x2);
extern bool projectable(int y1, int x1, int y2, int x2);
extern void scatter(int *yp, int *xp, int y, int x, int d, int mode);
extern void health_track(int m_idx);
-extern void monster_race_track(bool kage, int r_idx);
+extern void monster_race_track(int r_idx);
extern void object_kind_track(int k_idx);
extern void disturb(int stop_search, int flush_output);
extern s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode);
extern void search(void);
extern void py_pickup_aux(int o_idx);
-extern int is_autopick(object_type *o_ptr);
extern void carry(int pickup);
extern bool py_attack(int y, int x, int mode);
extern bool player_can_enter(byte feature);
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);
+extern s16b inscribe_flags(object_type *o_ptr, cptr out_val);
/* cmd4.c */
extern errr do_cmd_write_nikki(int type, int num, cptr note);
extern void do_cmd_version(void);
extern void do_cmd_feeling(void);
extern void do_cmd_load_screen(void);
+extern void do_cmd_save_screen_html_aux(char *filename, int message);
extern void do_cmd_save_screen(void);
extern void do_cmd_knowledge(void);
extern void plural_aux(char * Name);
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(void);
+extern void do_cmd_magic_eater(bool only_browse);
/* dungeon.c */
+extern void leave_quest_check(void);
extern void play_game(bool new_game);
extern bool psychometry(void);
extern void leave_level(int level);
extern void safe_setuid_grab(void);
extern s16b tokenize(char *buf, s16b num, char **tokens, int mode);
extern void display_player(int mode);
+extern errr make_character_dump(FILE *fff);
extern errr file_character(cptr name, bool full);
extern errr process_pref_file_command(char *buf);
extern errr process_pref_file(cptr name);
extern errr counts_write(int where, u32b count);
extern u32b counts_read(int where);
+/* flavor.c */
+extern void get_table_name(char *out_string);
+extern void flavor_init(void);
+extern char *object_desc_kosuu(char *t, object_type *o_ptr);
+extern void object_desc(char *buf, object_type *o_ptr, int pref, int mode);
+
/* generate.c */
extern void place_closed_door(int y, int x);
extern void generate_cave(void);
/* init1.c */
-extern errr init_v_info_txt(FILE *fp, char *buf, bool start);
-extern errr init_s_info_txt(FILE *fp, char *buf);
-extern errr init_m_info_txt(FILE *fp, char *buf);
-extern errr init_f_info_txt(FILE *fp, char *buf);
-extern errr init_k_info_txt(FILE *fp, char *buf);
-extern errr init_a_info_txt(FILE *fp, char *buf);
-extern errr init_e_info_txt(FILE *fp, char *buf);
-extern errr init_r_info_txt(FILE *fp, char *buf);
-extern errr init_d_info_txt(FILE *fp, char *buf);
+extern byte color_char_to_attr(char c);
extern errr process_dungeon_file(cptr name, int ymin, int xmin, int ymax, int xmax);
/* init2.c */
+extern void init_file_paths(char *path);
extern cptr err_str[PARSE_ERROR_MAX];
extern errr init_v_info(void);
-extern void init_file_paths(char *path);
-extern void init_angband(void);
extern errr init_buildings(void);
-#ifdef ALLOW_TEMPLATES
-extern s16b error_idx;
-extern s16b error_line;
-extern u32b fake_name_size;
-extern u32b fake_text_size;
-#ifdef JP
-extern u32b E_fake_name_size; /* ±Ñ¸ì̾ÍÑ */
-#endif
-#endif /* ALLOW_TEMPLATES */
+extern void init_angband(void);
+extern cptr get_check_sum(void);
/* load.c */
extern errr rd_savefile_new(void);
extern bool make_attack_normal(int m_idx);
extern bool make_attack_spell(int m_idx);
extern void process_monsters(void);
+extern u32b get_curse(int power, object_type *o_ptr);
extern void curse_equipment(int chance, int heavy_chance);
extern void mon_take_hit_mon(bool is_psy_spear, int m_idx, int dam, bool *fear, cptr note, int who);
extern bool process_the_world(int num, int who, bool vs_player);
extern void monster_gain_exp(int m_idx, int s_idx);
/* monster1.c */
-extern void screen_roff(int r_idx, int remember);
+extern void roff_top(int r_idx);
+extern void screen_roff(int r_idx, int mode);
extern void display_roff(int r_idx);
+extern void output_monster_spoiler(int r_idx, void (*roff_func)(byte attr, cptr str));
extern void create_name(int type, char *name);
+/* monster1.c (was in monster3.c ??) */
+extern bool monster_quest(int r_idx);
+extern bool monster_dungeon(int r_idx);
+extern bool monster_ocean(int r_idx);
+extern bool monster_shore(int r_idx);
+extern bool monster_town(int r_idx);
+extern bool monster_wood(int r_idx);
+extern bool monster_volcano(int r_idx);
+extern bool monster_mountain(int r_idx);
+extern bool monster_grass(int r_idx);
+extern bool monster_deep_water(int r_idx);
+extern bool monster_shallow_water(int r_idx);
+extern bool monster_lava(int r_idx);
+extern monster_hook_type get_monster_hook(void);
+extern monster_hook_type get_monster_hook2(int y, int 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(byte feat, monster_race *r_ptr);
+extern bool are_enemies(monster_type *m_ptr1, monster_type *m_ptr2);
+extern bool monster_living(monster_race *r_ptr);
+
/* monster2.c */
extern cptr horror_desc[MAX_SAN_HORROR];
extern cptr funny_desc[MAX_SAN_FUNNY];
extern cptr funny_comments[MAX_SAN_COMMENT];
-extern int get_wilderness_flag(void);
+extern void set_target(monster_type *m_ptr, int y, int x);
+extern void reset_target(monster_type *m_ptr);
extern void sanity_blast(monster_type *m_ptr, bool necro);
extern void delete_monster_idx(int i);
extern void delete_monster(int y, int x);
extern void lore_treasure(int m_idx, int num_item, int num_gold);
extern void update_mon(int m_idx, bool full);
extern void update_monsters(bool full);
-extern bool place_monster_aux(int y, int x, int r_idx, bool slp, bool grp, bool friendly, bool pet, bool no_kage, bool no_pet);
-extern bool place_monster(int y, int x, bool slp, bool grp);
+extern bool place_monster_aux(int who, int y, int x, int r_idx, u32b mode);
+extern bool place_monster(int y, int x, u32b mode);
extern bool alloc_horde(int y, int x);
-extern bool alloc_monster(int dis, bool slp);
-extern bool summon_specific(int who, int y1, int x1, int lev, int type, bool group, bool friendly, bool pet, bool unique_okay, bool no_pet);
-extern bool summon_named_creature(int oy, int ox, int r_idx, bool slp, bool group_ok, bool friendly, bool pet);
-extern bool multiply_monster(int m_idx, bool clone, bool friendly, bool pet);
+extern bool alloc_monster(int dis, u32b mode);
+extern bool summon_specific(int who, int y1, int x1, int lev, int type, u32b mode);
+extern bool summon_named_creature (int who, int oy, int ox, int r_idx, u32b mode);
+extern bool multiply_monster(int m_idx, bool clone, u32b mode);
extern void update_smart_learn(int m_idx, int what);
extern void choose_new_monster(int m_idx, bool born, int r_idx);
-extern bool place_monster_one(int y, int x, int r_idx, bool slp, bool friendly, bool pet, bool no_pet);
+extern bool place_monster_one(int who, int y, int x, int r_idx, u32b mode);
extern bool player_place(int y, int x);
extern void monster_drop_carried_objects(monster_type *m_ptr);
-/* monster3.c (currently in monster1.c) */
-extern bool monster_dungeon(int r_idx);
-extern bool monster_quest(int r_idx);
-extern bool monster_ocean(int r_idx);
-extern bool monster_shore(int r_idx);
-extern bool monster_town(int r_idx);
-extern bool monster_wood(int r_idx);
-extern bool monster_volcano(int r_idx);
-extern bool monster_mountain(int r_idx);
-extern bool monster_grass(int r_idx);
-extern bool monster_deep_water(int r_idx);
-extern bool monster_shallow_water(int r_idx);
-extern bool monster_lava(int r_idx);
-extern monster_hook_type get_monster_hook(void);
-extern monster_hook_type get_monster_hook2(int y, int 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(byte feat, monster_race *r_ptr);
-extern bool are_enemies(monster_type *m_ptr1, monster_type *m_ptr2);
-extern bool monster_living(monster_race *r_ptr);
-
/* object1.c */
-/* object2.c */
extern s16b m_bonus(int max, int level);
-extern void flavor_init(void);
+
extern void reset_visuals(void);
-extern void object_flags(object_type *o_ptr, u32b *f1, u32b *f2, u32b *f3);
-extern void object_flags_known(object_type *o_ptr, u32b *f1, u32b *f2, u32b *f3);
-extern void object_desc(char *buf, object_type *o_ptr, int pref, int mode);
+extern void object_flags(object_type *o_ptr, u32b flgs[TR_FLAG_SIZE]);
+extern void object_flags_known(object_type *o_ptr, u32b flgs[TR_FLAG_SIZE]);
extern void object_desc_store(char *buf, object_type *o_ptr, int pref, int mode);
+extern cptr item_activation(object_type *o_ptr);
extern bool identify_fully_aux(object_type *o_ptr);
extern char index_to_label(int i);
extern s16b label_to_inven(int c);
extern s16b wield_slot(object_type *o_ptr);
extern cptr mention_use(int i);
extern cptr describe_use(int i);
-extern void inven_item_charges(int item);
-extern void inven_item_describe(int item);
-extern void inven_item_increase(int item, int num);
-extern void inven_item_optimize(int item);
-extern void floor_item_charges(int item);
-extern void floor_item_describe(int item);
-extern void floor_item_increase(int item, int num);
-extern void floor_item_optimize(int item);
-extern bool inven_carry_okay(object_type *o_ptr);
-extern s16b inven_carry(object_type *o_ptr);
-extern s16b inven_takeoff(int item, int amt);
-extern void inven_drop(int item, int amt);
extern bool check_book_realm(const byte book_tval, const byte book_sval);
extern bool item_tester_okay(object_type *o_ptr);
extern void display_inven(void);
extern int show_inven(int target_item);
extern int show_equip(int target_item);
extern void toggle_inven_equip(void);
+extern int get_tag(int *cp, char tag);
extern bool can_get_item(void);
extern bool get_item(int *cp, cptr pmt, cptr str, int mode);
+
+/* object2.c */
extern void excise_object_idx(int o_idx);
extern void delete_object_idx(int o_idx);
extern void delete_object(int y, int x);
extern void object_tried(object_type *o_ptr);
extern s32b object_value(object_type *o_ptr);
extern s32b object_value_real(object_type *o_ptr);
+extern bool can_player_destroy_object(object_type *o_ptr);
extern void distribute_charges(object_type *o_ptr, object_type *q_ptr, int amt);
extern void reduce_charges(object_type *o_ptr, int amt);
extern bool object_similar(object_type *o_ptr, 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 pick_trap(int y, int x);
+extern byte choose_random_trap(void);
+extern void disclose_grid(int y, int x);
extern void place_trap(int y, int x);
-extern cptr item_activation(object_type *o_ptr);
+extern void inven_item_charges(int item);
+extern void inven_item_describe(int item);
+extern void inven_item_increase(int item, int num);
+extern void inven_item_optimize(int item);
+extern void floor_item_charges(int item);
+extern void floor_item_describe(int item);
+extern void floor_item_increase(int item, int num);
+extern void floor_item_optimize(int item);
+extern bool inven_carry_okay(object_type *o_ptr);
+extern s16b inven_carry(object_type *o_ptr);
+extern s16b inven_takeoff(int item, int amt);
+extern void inven_drop(int item, int amt);
extern void combine_pack(void);
extern void reorder_pack(void);
extern void display_koff(int k_idx);
-
-#ifdef USE_FRAKIR
+extern object_type *choose_warning_item(void);
extern bool process_frakir(int xx, int yy);
-#endif
extern void do_cmd_kaji(bool only_browse);
/* racial.c */
/* spells1.c */
extern bool in_disintegration_range(int y1, int x1, int y2, int x2);
-extern bool take_hit(int damage_type, int damage, cptr kb_str, int monspell);
+extern void breath_shape(u16b *path_g, int dist, int *pgrids, byte *gx, byte *gy, byte *gm, int *pgm_rad, int rad, int y1, int x1, int y2, int x2, bool disint_ball, bool real_breath);
+extern int take_hit(int damage_type, int damage, cptr kb_str, int monspell);
extern u16b bolt_pict(int y, int x, int ny, int nx, int typ);
extern sint project_path(u16b *gp, int range, int y1, int x1, int y2, int x2, int flg);
extern int dist_to_line(int y, int x, int y1, int x1, int y2, int x2);
/* spells2.c */
extern void message_pain(int m_idx, int dam);
extern void self_knowledge(void);
-extern bool detect_traps(int range);
+extern bool detect_traps(int range, bool known);
extern bool detect_doors(int range);
extern bool detect_stairs(int range);
extern bool detect_treasure(int range);
extern bool dispel_monsters(int dam);
extern bool dispel_living(int dam);
extern bool dispel_demons(int dam);
+extern bool crusade(void);
extern bool turn_undead(void);
extern bool destroy_area(int y1, int x1, int r, int full);
extern bool earthquake(int cy, int cx, int r);
extern bool fire_ball_hide(int typ, int dir, int dam, int rad);
extern bool fire_meteor(int who, int typ, int x, int y, int dam, int rad);
extern bool fire_bolt(int typ, int dir, int dam);
+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 slow_monster(int dir);
extern bool sleep_monster(int dir);
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 charm_animal(int dir, int plev);
extern bool charm_living(int dir, int plev);
extern bool mindblast_monsters(int dam);
-extern void get_table_name(char *out_string);
extern s32b flag_cost(object_type *o_ptr, int plusses);
extern void report_magics(void);
extern bool teleport_swap(int dir);
extern bool project_hook(int typ, int dir, int dam, int flg);
extern bool project_hack(int typ, int dam);
extern bool eat_magic(int power);
-extern void discharge_minion(bool force);
+extern void discharge_minion(void);
extern void kawarimi(bool success);
/* spells3.c */
extern bool artifact_scroll(void);
extern bool ident_spell(bool only_equip);
extern bool mundane_spell(bool only_equip);
-extern void identify_item(object_type *o_ptr);
+extern bool identify_item(object_type *o_ptr);
extern bool identify_fully(bool only_equip);
extern bool recharge(int num);
extern bool bless_weapon(void);
extern bool pulish_shield(void);
extern bool potion_smash_effect(int who, int y, int x, int k_idx);
extern void display_spell_list(void);
+extern s16b experience_of_spell(int spell, int realm);
extern s16b spell_chance(int spell,int realm);
extern bool spell_okay(int spell, bool learned, bool study_pray, int realm);
extern void print_spells(int target_spell, byte *spells, int num, int y, int x, int realm);
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 void acid_dam(int dam, cptr kb_str, int monspell);
-extern void elec_dam(int dam, cptr kb_str, int monspell);
-extern void fire_dam(int dam, cptr kb_str, int monspell);
-extern void cold_dam(int dam, cptr kb_str, int monspell);
+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 bool rustproof(void);
extern bool curse_armor(void);
extern bool curse_weapon(bool force, int slot);
extern bool brand_bolts(void);
extern bool polymorph_monster(int y, int x);
extern bool dimension_door(void);
-extern bool summon_kin_player(bool pet, int level, int y, int x, bool group);
+extern bool summon_kin_player(int level, int y, int x, u32b mode);
/* store.c */
extern void do_cmd_store(void);
extern bool askfor_aux(char *buf, int len);
extern bool get_string(cptr prompt, char *buf, int len);
extern bool get_check(cptr prompt);
+extern bool get_check_strict(cptr prompt, int mode);
extern bool get_com(cptr prompt, char *command, bool z_escape);
extern s16b get_quantity(cptr prompt, int max);
extern void pause_line(int row);
extern void build_gamma_table(int gamma);
#endif /* SUPPORT_GAMMA */
+extern size_t my_strcpy(char *buf, const char *src, size_t bufsize);
+extern size_t my_strcat(char *buf, const char *src, size_t bufsize);
+
+
/* xtra1.c */
+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 void cnv_stat(int val, char *out_val);
extern s16b modify_stat_value(int value, int amount);
extern void notice_stuff(void);
extern bool set_tim_ffall(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 void check_quest_completion(monster_type *m_ptr);
extern void monster_death(int m_idx, bool drop_item);
extern bool mon_take_hit(int m_idx, int dam, bool *fear, cptr note);
-extern void panel_bounds(void);
+extern void get_screen_size(int *wid_p, int *hgt_p);
extern void panel_bounds_center(void);
+extern void resize_map(void);
+extern void redraw_window(void);
extern bool change_panel(int dy, int dx);
extern void verify_panel(void);
extern cptr look_mon_desc(int m_idx);
extern s16b gain_energy(void);
extern s16b bow_energy(int sval);
extern int bow_tmul(int sval);
+extern cptr your_alignment(void);
/* mspells1.c */
extern bool clean_shot(int y1, int x1, int y2, int x2, bool friend);
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);
+extern void one_lordly_high_resistance(object_type *o_ptr);
+extern void one_ele_resistance(object_type *o_ptr);
+extern void one_dragon_ele_resistance(object_type *o_ptr);
+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 void random_resistance(object_type * q_ptr, bool is_scroll, int specific);
extern bool activate_random_artifact(object_type * o_ptr);
-extern void random_artifact_resistance(object_type * o_ptr);
+extern void random_artifact_resistance(object_type * o_ptr, artifact_type *a_ptr);
extern void create_named_art(int a_idx, int y, int x);
/* scores.c */
extern void user_name(char *buf, int id);
#endif
-#ifndef HAS_MEMSET
-/* util.c */
-extern char *memset(char*, int, huge);
-#endif
-
#if 0
#ifndef HAS_STRICMP
/* util.c */
#endif
#endif
-#ifndef HAS_USLEEP
+#ifndef HAVE_USLEEP
/* util.c */
extern int usleep(huge usecs);
#endif
/* extern void main(void); */
#endif
+#if defined(MAC_MPW)
+/* Globals needed */
+extern u32b _ftype;
+extern u32b _fcreator;
+#endif
+
#ifdef WINDOWS
/* main-win.c */
/* extern int FAR PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, ...); */
#endif /* ALLOW_EASY_DISARM -- TNB */
-#ifdef USE_SCRIPT
-extern errr script_execute(char *name);
-extern errr init_script(void);
-#endif /* USE_SCRIPT */
-
-
#ifdef ALLOW_EASY_FLOOR /* TNB */
/* object1.c */
-extern bool scan_floor(int *items, int *item_num, int y, int x, int mode);
-extern int show_floor(int target_item, int y, int x);
+extern int scan_floor(int *items, int y, int x, int mode);
+extern int show_floor(int target_item, int y, int x, int *min_width);
extern bool get_item_floor(int *cp, cptr pmt, cptr str, int mode);
extern void py_pickup_floor(int pickup);
extern bool compare_virtue(int type, int num, int tekitou);
extern int virtue_number(int type);
extern cptr virtue[MAX_VIRTUE];
-extern void get_virtues();
+extern void get_virtues(void);
extern void chg_virtue(int virtue, int amount);
extern void set_virtue(int virtue, int amount);
extern void dump_virtues(FILE * OutFile);
extern void jverb3( const char *in , char *out);
extern void jverb( const char *in , char *out , int flag);
extern char* strstr_j(cptr str1, cptr str2);
-extern size_t mb_strlcpy(char *dst, const char *src, size_t size);
+extern void codeconv(char *str);
+extern bool iskanji2(cptr s, int x);
#endif
+#ifdef WORLD_SCORE
/* report.c */
extern errr report_score(void);
+extern cptr make_screen_dump(void);
+#endif
/* inet.c */
extern int soc_write(int sd, char *buf, size_t sz);
extern int connect_scoreserver(void);
extern int disconnect_server(int sd);
-extern char *soc_err(void);
+extern cptr soc_err(void);
#ifdef CHUUKEI
/* chuukei.c */