OSDN Git Service

モンスターの死亡メッセージのコードの一部を関数にまとめた.
[hengband/hengband.git] / src / externs.h
index 452311c..80e4b4d 100644 (file)
@@ -1,5 +1,13 @@
 /* File: externs.h */
 
+/*
+ * Copyright (c) 1997 Ben Harrison
+ *
+ * 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) */
 
 /*
  */
 
 extern int max_macrotrigger;
-extern char *macro_template;
-extern char *macro_modifier_chr;
-extern char *macro_modifier_name[MAX_MACRO_MOD];
-extern char *macro_trigger_name[MAX_MACRO_TRIG];
-extern char *macro_trigger_keycode[2][MAX_MACRO_TRIG];
+extern cptr macro_template;
+extern cptr macro_modifier_chr;
+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;
 
+/* 
+ *  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];
@@ -63,8 +72,7 @@ extern byte adj_con_fix[];
 extern byte adj_con_mhp[];
 extern byte adj_chr_chm[];
 extern byte blows_table[12][12];
-extern s16b arena_monsters[MAX_ARENA_MONS+2];
-extern s16b arena_shouhin[MAX_ARENA_MONS+2];
+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];
@@ -98,22 +106,25 @@ 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 shougou_moji[5];
+extern cptr exp_level_str[5];
 extern byte conv_terrain2feat[MAX_WILDERNESS];
+extern cptr silly_attacks[MAX_SILLY_ATTACK];
+#ifdef JP
+extern 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[];
 
 /* 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;
@@ -145,11 +156,7 @@ extern s16b command_gap;
 extern s16b command_wrk;
 extern s16b command_new;
 extern s16b energy_use;
-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;
@@ -163,19 +170,15 @@ extern s32b turn;
 extern s32b dungeon_turn;
 extern s32b old_turn;
 extern s32b old_battle;
-extern bool wizard;
 extern bool use_sound;
 extern bool use_graphics;
 extern bool use_bigtile;
-extern u16b total_winner;
-extern u16b panic_save;
-extern u16b noscore;
-extern bool wait_report_score;
 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;
@@ -195,6 +198,7 @@ extern int total_friends;
 extern s32b total_friend_levels;
 extern s32b friend_align;
 extern int leaving_quest;
+extern bool reinit_wilderness;
 extern bool multi_rew;
 extern char summon_kin_type;
 extern bool hack_mind;
@@ -218,11 +222,12 @@ extern bool find_ignore_doors;
 extern bool find_cut;
 extern bool find_examine;
 extern bool disturb_near;
+extern bool disturb_high;
 extern bool disturb_move;
 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;
@@ -230,6 +235,8 @@ extern bool fresh_before;
 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;
@@ -241,22 +248,22 @@ extern bool plain_pickup;
 
 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 allow_debug_opts;   /* Allow use of debug/cheat options */
 
-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_stairs;
+extern bool confirm_wear;
+extern bool confirm_quest;
 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;
@@ -265,7 +272,6 @@ extern bool manual_haggle;
 extern bool auto_scum;
 extern bool expand_look;
 extern bool expand_list;
-extern bool dungeon_stair;
 extern bool smart_learn;
 extern bool smart_cheat;
 extern bool show_labels;
@@ -277,17 +283,21 @@ extern bool cheat_room;
 extern bool cheat_xtra;
 extern bool cheat_know;
 extern bool cheat_live;
+extern bool cheat_save;
 extern bool last_words;              /* Zangband options */
 extern bool over_exert;
 extern bool small_levels;
 extern bool always_small_levels;
 extern bool empty_levels;
+extern bool bound_walls_perm;
 extern bool player_symbols;
 extern bool equippy_chars;
 extern bool use_command;
 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;
@@ -295,6 +305,7 @@ extern bool leave_corpse;
 extern bool leave_junk;
 extern bool destroy_items;
 extern bool leave_chest;
+extern bool leave_special;
 extern bool record_fix_art;
 extern bool record_rand_art;
 extern bool record_destroy_uniq;
@@ -332,22 +343,23 @@ extern int player_euid;
 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 s16b lite_y[LITE_MAX];
 extern s16b lite_x[LITE_MAX];
 extern s16b mon_lite_n;
-extern s16b mon_lite_y[LITE_MAX];
-extern s16b mon_lite_x[LITE_MAX];
+extern s16b mon_lite_y[MON_LITE_MAX];
+extern s16b mon_lite_x[MON_LITE_MAX];
 extern s16b view_n;
 extern byte view_y[VIEW_MAX];
 extern byte view_x[VIEW_MAX];
 extern s16b temp_n;
 extern byte temp_y[TEMP_MAX];
 extern byte temp_x[TEMP_MAX];
+extern s16b redraw_n;
+extern byte redraw_y[REDRAW_MAX];
+extern byte redraw_x[REDRAW_MAX];
 extern s16b macro__num;
 extern cptr *macro__pat;
 extern cptr *macro__act;
@@ -370,6 +382,9 @@ extern char angband_term_name[8][16];
 extern byte angband_color_table[256][4];
 extern char angband_sound_name[SOUND_MAX][16];
 extern cave_type *cave[MAX_HGT];
+extern saved_floor_type saved_floors[MAX_SAVED_FLOORS];
+extern s16b max_floor_id;
+extern u32b saved_floor_file_sign;
 extern object_type *o_list;
 extern monster_type *m_list;
 extern u16b max_towns;
@@ -390,26 +405,14 @@ extern player_race *rp_ptr;
 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 birther previous_char;
 extern vault_type *v_info;
 extern char *v_name;
 extern char *v_text;
 extern skill_table *s_info;
-extern char *s_name;
-extern char *s_text;
 extern player_magic *m_info;
-extern char *m_name;
-extern char *m_text;
 extern feature_type *f_info;
 extern char *f_name;
-extern char *f_text;
 extern object_kind *k_info;
 extern char *k_name;
 extern char *k_text;
@@ -472,7 +475,6 @@ extern int quest_text_line;
 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;
@@ -482,8 +484,6 @@ extern bool ironman_downward;
 extern bool ironman_autoscum;
 extern bool lite_town;
 extern bool ironman_empty_levels;
-extern bool terrain_streams;
-extern bool munchkin_death;
 extern bool ironman_rooms;
 extern bool ironman_nightmare;
 extern bool left_hander;
@@ -491,14 +491,8 @@ extern bool preserve_mode;
 extern bool autoroller;
 extern bool autochara;
 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;
@@ -513,7 +507,7 @@ extern int pet_t_m_idx;
 extern int riding_t_m_idx;
 extern s16b kubi_r_idx[MAX_KUBI];
 extern s16b today_mon;
-extern monster_type party_mon[21];
+extern monster_type party_mon[MAX_PARTY_MON];
 extern bool write_level;
 extern u32b playtime;
 extern u32b start_time;
@@ -534,15 +528,34 @@ extern bool now_damaged;
 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 add_history_from_pref_line(cptr t);
 extern void player_birth(void);
 extern void get_max_stats(void);
+extern void determine_random_questor(quest_type *q_ptr);
 extern void player_outfit(void);
 extern void dump_yourself(FILE *fff);
 
 /* 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);
@@ -553,6 +566,7 @@ extern void map_info(int y, int x, byte *ap, char *cp, byte *tap, char *tcp);
 #else /* USE_TRANSPARENCY */
 extern void map_info(int y, int x, byte *ap, char *cp);
 #endif /* USE_TRANSPARENCY */
+extern void bigtile_attr(char *cp, byte *ap, char *cp2, byte *ap2);
 extern void move_cursor_relative(int row, int col);
 extern void print_rel(char c, byte a, int y, int x);
 extern void note_spot(int y, int x);
@@ -568,30 +582,35 @@ extern void forget_view(void);
 extern void update_view(void);
 extern void update_mon_lite(void);
 extern void clear_mon_lite(void);
+extern void delayed_visual_update(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_lite(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 void glow_deep_lava_and_bldg(void);
 
 /* cmd1.c */
 extern bool test_hit_fire(int chance, int ac, int vis);
 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 s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, 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);
-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);
@@ -633,12 +652,14 @@ 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 bool research_mon(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);
+#endif
 extern errr do_cmd_write_nikki(int type, int num, cptr note);
 extern void do_cmd_nikki(void);
 extern void do_cmd_redraw(void);
@@ -656,14 +677,19 @@ extern void do_cmd_note(void);
 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_quests_completed(FILE *fff, int quest_num[]);
+extern void do_cmd_knowledge_quests_failed(FILE *fff, int quest_num[]);
+extern bool ang_sort_comp_quest_num(vptr u, vptr v, int a, int b);
+extern void ang_sort_swap_quest_num(vptr u, vptr v, int a, int b);
 extern void do_cmd_knowledge(void);
 extern void plural_aux(char * Name);
 extern void do_cmd_checkquest(void);
 extern void do_cmd_time(void);
 
 /* cmd5.c */
-extern cptr spell_categoly_name(int tval);
+extern cptr spell_category_name(int tval);
 extern void do_cmd_browse(void);
 extern void do_cmd_study(void);
 extern void stop_singing(void);
@@ -683,13 +709,17 @@ 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 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 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);
@@ -702,10 +732,12 @@ extern void safe_setuid_drop(void);
 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 file_character(cptr name, bool full);
+extern errr make_character_dump(FILE *fff);
+extern errr file_character(cptr name);
 extern errr process_pref_file_command(char *buf);
 extern errr process_pref_file(cptr name);
 extern errr process_pickpref_file(cptr name);
+extern errr process_histpref_file(cptr name);
 extern void print_equippy(void);
 extern errr check_time_init(void);
 extern errr check_load_init(void);
@@ -735,24 +767,40 @@ 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);
 
+/* floors.c */
+extern void init_saved_floors(void);
+extern void clear_saved_floor_files(void);
+extern saved_floor_type *get_sf_ptr(s16b floor_id);
+extern s16b get_new_floor_id(void);
+extern void prepare_change_floor_mode(u32b mode);
+extern void leave_floor(void);
+extern void change_floor(void);
+extern void stair_creation(void);
+
 /* generate.c */
 extern void place_closed_door(int y, int x);
+extern void place_quest_monsters(void);
+extern void clear_cave(void);
 extern void generate_cave(void);
 
 /* init1.c */
+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);
+extern void init_angband(void);
+extern cptr get_check_sum(void);
 
 /* load.c */
 extern errr rd_savefile_new(void);
+extern bool load_floor(saved_floor_type *sf_ptr, u32b mode);
 
 /* melee1.c */
 /* melee2.c */
@@ -761,7 +809,7 @@ 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 void mon_take_hit_mon(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);
 
@@ -791,8 +839,10 @@ 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 monster_can_enter(int y, int x, monster_race *r_ptr);
 extern bool are_enemies(monster_type *m_ptr1, monster_type *m_ptr2);
 extern bool monster_living(monster_race *r_ptr);
+extern bool no_questor_or_bounty_uniques(int r_idx);
 
 
 /* monster2.c */
@@ -801,29 +851,33 @@ extern cptr funny_desc[MAX_SAN_FUNNY];
 extern cptr funny_comments[MAX_SAN_COMMENT];
 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 monster_race *real_r_ptr(monster_type *m_ptr);
 extern void delete_monster_idx(int i);
 extern void delete_monster(int y, int x);
 extern void compact_monsters(int size);
+extern void precalc_cur_num_of_pet(void);
 extern void wipe_m_list(void);
 extern s16b m_pop(void);
 extern errr get_mon_num_prep(monster_hook_type monster_hook, monster_hook_type monster_hook2);
 extern s16b get_mon_num(int level);
 extern void monster_desc(char *desc, monster_type *m_ptr, int mode);
-extern void lore_do_probe(int m_idx);
+extern int lore_do_probe(int r_idx);
 extern void lore_treasure(int m_idx, int num_item, int num_gold);
+extern void sanity_blast(monster_type *m_ptr, bool necro);
 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_guardian(void);
+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 byte get_mspeed(monster_race *r_ptr);
+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);
 
@@ -831,11 +885,11 @@ extern void monster_drop_carried_objects(monster_type *m_ptr);
 extern s16b m_bonus(int max, int level);
 
 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_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 bool screen_object(object_type *o_ptr, bool real);
 extern char index_to_label(int i);
 extern s16b label_to_inven(int c);
 extern s16b label_to_equip(int c);
@@ -866,6 +920,7 @@ extern void object_aware(object_type *o_ptr);
 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);
@@ -874,14 +929,15 @@ extern s16b lookup_kind(int tval, int sval);
 extern void object_wipe(object_type *o_ptr);
 extern void object_prep(object_type *o_ptr, int k_idx);
 extern void object_copy(object_type *o_ptr, object_type *j_ptr);
-extern void apply_magic(object_type *o_ptr, int lev, bool okay, bool good, bool great, bool curse);
-extern bool make_object(object_type *j_ptr, bool good, bool great);
-extern void place_object(int y, int x, bool good, bool great);
+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 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 void inven_item_charges(int item);
 extern void inven_item_describe(int item);
@@ -899,22 +955,24 @@ extern void combine_pack(void);
 extern void reorder_pack(void);
 extern void display_koff(int k_idx);
 extern object_type *choose_warning_item(void);
-extern bool process_frakir(int xx, int yy);
+extern bool process_warning(int xx, int yy);
+extern bool item_tester_hook_smith(object_type *o_ptr);
 extern void do_cmd_kaji(bool only_browse);
 
 /* racial.c */
 extern bool gain_magic(void);
-extern bool racial_aux(s16b min_level, int cost, int use_stat, int difficulty);
 extern void do_cmd_racial_power(void);
 
 /* save.c */
 extern bool save_player(void);
 extern bool load_player(void);
 extern void remove_loc(void);
+extern bool save_floor(saved_floor_type *sf_ptr, u32b mode);
 
 /* 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);
@@ -926,7 +984,7 @@ extern void seal_of_mirror(int dam);
 /* 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);
@@ -957,8 +1015,9 @@ extern bool dispel_undead(int dam);
 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 destroy_area(int y1, int x1, int r, bool in_generate);
 extern bool earthquake(int cy, int cx, int r);
 extern void lite_room(int y1, int x1);
 extern void unlite_room(int y1, int x1);
@@ -969,6 +1028,7 @@ extern bool fire_rocket(int typ, int dir, int dam, int rad);
 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);
@@ -984,6 +1044,7 @@ extern bool speed_monster(int dir);
 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);
@@ -1025,13 +1086,14 @@ extern bool project_hack(int typ, int dam);
 extern bool eat_magic(int power);
 extern void discharge_minion(void);
 extern void kawarimi(bool success);
+extern bool rush_attack(bool *mdeath);
 
 /* spells3.c */
 extern bool teleport_away(int m_idx, int dis, bool dec_valour);
-extern void teleport_to_player(int m_idx, int power);
+extern void teleport_monster_to(int m_idx, int ty, int tx, int power);
 extern void teleport_player(int dis);
 extern void teleport_player_to(int ny, int nx, bool no_tele);
-extern void teleport_player_level(void);
+extern void teleport_level(int m_idx);
 extern bool recall_player(int turns);
 extern bool word_of_recall(void);
 extern bool reset_recall(void);
@@ -1050,7 +1112,6 @@ extern void identify_pack(void);
 extern bool remove_curse(void);
 extern bool remove_all_curse(void);
 extern bool alchemy(void);
-extern void stair_creation(void);
 extern bool item_tester_hook_weapon(object_type *o_ptr);
 extern bool item_tester_hook_armour(object_type *o_ptr);
 extern bool item_tester_hook_weapon_armour(object_type *o_ptr);
@@ -1059,13 +1120,15 @@ extern bool enchant_spell(int num_hit, int num_dam, int num_ac);
 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 int mod_need_mana(int need_mana, 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);
@@ -1078,17 +1141,17 @@ 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 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);
@@ -1164,7 +1227,8 @@ extern void pause_line(int row);
 extern void request_command(int shopping);
 extern bool is_a_vowel(int ch);
 extern int get_keymap_dir(char ch);
-extern void roff_to_buf(cptr str, int wlen, char *tbuf);
+extern errr type_string(cptr str, uint len);
+extern void roff_to_buf(cptr str, int wlen, char *tbuf, size_t bufsize);
 
 #ifdef SORT_R_INFO
 extern void tag_sort(tag_type elements[], int number);
@@ -1175,7 +1239,13 @@ extern byte gamma_table[256];
 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);
@@ -1218,6 +1288,8 @@ extern bool set_lightspeed(int v, bool do_dec);
 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);
@@ -1246,6 +1318,7 @@ extern bool lose_all_info(void);
 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 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);
@@ -1259,6 +1332,7 @@ extern bool set_superstealth(bool set);
 /* xtra2.c */
 extern void check_experience(void);
 extern void check_quest_completion(monster_type *m_ptr);
+extern cptr extract_note_dies(monster_race *r_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 get_screen_size(int *wid_p, int *hgt_p);
@@ -1267,7 +1341,7 @@ 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 cptr look_mon_desc(monster_type *m_ptr, u32b mode);
 extern void ang_sort_aux(vptr u, vptr v, int p, int q);
 extern void ang_sort(vptr u, vptr v, int n);
 extern bool target_able(int m_idx);
@@ -1286,10 +1360,14 @@ extern s16b gain_energy(void);
 extern s16b bow_energy(int sval);
 extern int bow_tmul(int sval);
 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);
 
 /* 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 spell_is_inate(u16b spell);
 
 /* mspells2.c */
 extern bool monst_spell_monst(int m_idx);
@@ -1300,6 +1378,7 @@ 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);
@@ -1316,7 +1395,7 @@ extern errr top_twenty(void);
 extern errr predict_score(void);
 extern void race_legends(void);
 extern void race_score(int race_num);
-extern void show_highclass(int building);
+extern void show_highclass(void);
 
 /* mind.c */
 extern mind_power mind_powers[5];
@@ -1330,6 +1409,7 @@ extern bool do_cmd_mane(bool baigaesi);
 /* 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);
 
 /* hissatsu.c */
 extern void hissatsu_info(char *p, int power);
@@ -1344,7 +1424,7 @@ extern bool lose_mutation(int choose_mut);
 extern void dump_mutations(FILE *OutFile);
 extern void do_cmd_knowledge_mutations(void);
 extern int calc_mutant_regenerate_mod(void);
-extern void mutation_power_aux(u32b power);
+extern bool mutation_power_aux(u32b power);
 
 
 /*
@@ -1418,8 +1498,8 @@ extern bool do_cmd_disarm_aux(int y, int x, int dir);
 #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);
 
@@ -1444,6 +1524,7 @@ extern void k_info_reset(void);
 extern bool buki_motteruka(int i);
 
 /* wild.c */
+extern void set_floor_and_wall(byte type);
 extern void wilderness_gen(void);
 extern void wilderness_gen_small(void);
 extern errr init_wilderness(void);
@@ -1461,7 +1542,7 @@ extern void strip_name(char *buf, int k_idx);
 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);
@@ -1473,8 +1554,8 @@ 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 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
@@ -1487,7 +1568,7 @@ extern cptr make_screen_dump(void);
 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 */