X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fexterns.h;h=a4b01b03e687e1f29973bb7779f9710e7a27c191;hb=a35b78aead53c7715f9b99128b17a622c5cfb8e8;hp=5be477e9daeb65a750bde494743568d17d2ab811;hpb=5b056aad4cc5688068d021d7b60561ee8190f0c8;p=hengband%2Fhengband.git diff --git a/src/externs.h b/src/externs.h index 5be477e9d..a4b01b03e 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; @@ -151,25 +148,24 @@ extern bool character_xtra; extern bool creating_savefile; extern u32b seed_flavor; extern u32b seed_town; -extern s16b command_cmd; -extern s16b command_arg; +extern COMMAND_CODE command_cmd; +extern COMMAND_ARG command_arg; extern s16b command_rep; -extern s16b command_dir; +extern DIRECTION command_dir; extern s16b command_see; -extern s16b command_gap; +extern TERM_POSITION command_gap; extern s16b command_wrk; extern s16b command_new; -extern s16b energy_use; extern bool msg_flag; extern s16b running; extern s16b resting; -extern s16b cur_hgt; -extern s16b cur_wid; -extern s16b dun_level; +extern POSITION cur_hgt; +extern POSITION cur_wid; +extern DEPTH dun_level; extern s16b num_repro; -extern s16b object_level; -extern s16b monster_level; -extern s16b base_level; +extern DEPTH object_level; +extern DEPTH monster_level; +extern DEPTH base_level; extern s32b turn; extern s32b turn_limit; extern s32b dungeon_turn; @@ -186,7 +182,7 @@ extern bool inkey_xtra; extern bool inkey_scan; extern bool inkey_flag; extern bool get_com_no_macros; -extern s16b coin_type; +extern OBJECT_SUBTYPE_VALUE coin_type; extern bool opening_chest; extern bool shimmer_monsters; extern bool shimmer_objects; @@ -197,10 +193,10 @@ extern s16b inven_cnt; extern s16b equip_cnt; extern s16b o_max; extern s16b o_cnt; -extern s16b m_max; -extern s16b m_cnt; -extern s16b hack_m_idx; -extern s16b hack_m_idx_ii; +extern MONSTER_IDX m_max; +extern MONSTER_IDX m_cnt; +extern MONSTER_IDX hack_m_idx; +extern MONSTER_IDX hack_m_idx_ii; extern int total_friends; extern s32b friend_align; extern int leaving_quest; @@ -385,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; @@ -395,36 +393,33 @@ extern s16b autosave_freq; extern bool autosave_t; extern bool autosave_l; 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 POSITION panel_row_min, panel_row_max; +extern POSITION panel_col_min, panel_col_max; +extern POSITION panel_col_prt, panel_row_prt; +extern IDX target_who; +extern POSITION target_col; +extern POSITION 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]; extern s16b lite_n; -extern s16b lite_y[LITE_MAX]; -extern s16b lite_x[LITE_MAX]; +extern POSITION lite_y[LITE_MAX]; +extern POSITION lite_x[LITE_MAX]; extern s16b mon_lite_n; -extern s16b mon_lite_y[MON_LITE_MAX]; -extern s16b mon_lite_x[MON_LITE_MAX]; +extern POSITION mon_lite_y[MON_LITE_MAX]; +extern POSITION mon_lite_x[MON_LITE_MAX]; extern s16b view_n; -extern byte view_y[VIEW_MAX]; -extern byte view_x[VIEW_MAX]; +extern POSITION view_y[VIEW_MAX]; +extern POSITION view_x[VIEW_MAX]; extern s16b temp_n; -extern byte temp_y[TEMP_MAX]; -extern byte temp_x[TEMP_MAX]; +extern POSITION temp_y[TEMP_MAX]; +extern POSITION temp_x[TEMP_MAX]; extern s16b redraw_n; -extern byte redraw_y[REDRAW_MAX]; -extern byte redraw_x[REDRAW_MAX]; +extern POSITION redraw_y[REDRAW_MAX]; +extern POSITION redraw_x[REDRAW_MAX]; extern s16b macro__num; extern cptr *macro__pat; extern cptr *macro__act; @@ -432,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]; @@ -515,29 +510,29 @@ extern cptr ANGBAND_DIR_USER; extern cptr ANGBAND_DIR_XTRA; extern bool item_tester_full; extern bool item_tester_no_ryoute; -extern byte item_tester_tval; +extern OBJECT_TYPE_VALUE item_tester_tval; extern bool (*item_tester_hook)(object_type *o_ptr); extern bool (*ang_sort_comp)(vptr u, vptr v, int a, int b); extern void (*ang_sort_swap)(vptr u, vptr v, int a, int b); extern monster_hook_type get_mon_num_hook; extern monster_hook_type get_mon_num2_hook; -extern bool (*get_obj_num_hook)(int k_idx); +extern bool (*get_obj_num_hook)(KIND_OBJECT_IDX k_idx); extern bool monk_armour_aux; extern bool monk_notify_aux; extern wilderness_type **wilderness; extern building_type building[MAX_BLDG]; -extern u16b max_quests; -extern u16b max_r_idx; -extern u16b max_k_idx; -extern u16b max_v_idx; -extern u16b max_f_idx; -extern u16b max_a_idx; -extern u16b max_e_idx; -extern u16b max_d_idx; -extern u16b max_o_idx; -extern u16b max_m_idx; -extern s32b max_wild_x; -extern s32b max_wild_y; +extern IDX max_quests; +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 IDX max_e_idx; +extern IDX max_d_idx; +extern IDX max_o_idx; +extern MONSTER_IDX max_m_idx; +extern POSITION max_wild_x; +extern POSITION max_wild_y; extern quest_type *quest; extern char quest_text[10][80]; extern int quest_text_line; @@ -550,18 +545,18 @@ extern s16b world_monster; extern bool world_player; extern int cap_mon; extern int cap_mspeed; -extern int cap_hp; -extern int cap_maxhp; -extern u16b cap_nickname; -extern s16b battle_mon[4]; +extern HIT_POINT cap_hp; +extern HIT_POINT cap_maxhp; +extern STR_OFFSET cap_nickname; +extern MONRACE_IDX battle_mon[4]; extern int sel_monster; extern int battle_odds; -extern int kakekin; +extern PRICE kakekin; extern u32b mon_odds[4]; -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_IDX pet_t_m_idx; +extern MONSTER_IDX riding_t_m_idx; +extern MONRACE_IDX kubi_r_idx[MAX_KUBI]; +extern MONRACE_IDX today_mon; extern bool write_level; extern u32b playtime; extern u32b start_time; @@ -574,58 +569,58 @@ extern bool generate_encounter; extern cptr screen_dump; /*** Terrain feature variables ***/ -extern s16b feat_none; -extern s16b feat_floor; -extern s16b feat_glyph; -extern s16b feat_explosive_rune; -extern s16b feat_mirror; +extern FEAT_IDX feat_none; +extern FEAT_IDX feat_floor; +extern FEAT_IDX feat_glyph; +extern FEAT_IDX feat_explosive_rune; +extern FEAT_IDX feat_mirror; extern door_type feat_door[MAX_DOOR_TYPES]; -extern s16b feat_up_stair; -extern s16b feat_down_stair; -extern s16b feat_entrance; -extern s16b feat_trap_open; -extern s16b feat_trap_armageddon; -extern s16b feat_trap_piranha; -extern s16b feat_rubble; -extern s16b feat_magma_vein; -extern s16b feat_quartz_vein; -extern s16b feat_granite; -extern s16b feat_permanent; -extern s16b feat_glass_floor; -extern s16b feat_glass_wall; -extern s16b feat_permanent_glass_wall; -extern s16b feat_pattern_start; -extern s16b feat_pattern_1; -extern s16b feat_pattern_2; -extern s16b feat_pattern_3; -extern s16b feat_pattern_4; -extern s16b feat_pattern_end; -extern s16b feat_pattern_old; -extern s16b feat_pattern_exit; -extern s16b feat_pattern_corrupted; -extern s16b feat_black_market; -extern s16b feat_town; -extern s16b feat_deep_water; -extern s16b feat_shallow_water; -extern s16b feat_deep_lava; -extern s16b feat_shallow_lava; -extern s16b feat_dirt; -extern s16b feat_grass; -extern s16b feat_flower; -extern s16b feat_brake; -extern s16b feat_tree; -extern s16b feat_mountain; -extern s16b feat_swamp; -extern s16b feat_undetected; - -extern byte dungeon_type; -extern s16b *max_dlv; -extern s16b feat_wall_outer; -extern s16b feat_wall_inner; -extern s16b feat_wall_solid; -extern s16b floor_type[100], fill_type[100]; +extern FEAT_IDX feat_up_stair; +extern FEAT_IDX feat_down_stair; +extern FEAT_IDX feat_entrance; +extern FEAT_IDX feat_trap_open; +extern FEAT_IDX feat_trap_armageddon; +extern FEAT_IDX feat_trap_piranha; +extern FEAT_IDX feat_rubble; +extern FEAT_IDX feat_magma_vein; +extern FEAT_IDX feat_quartz_vein; +extern FEAT_IDX feat_granite; +extern FEAT_IDX feat_permanent; +extern FEAT_IDX feat_glass_floor; +extern FEAT_IDX feat_glass_wall; +extern FEAT_IDX feat_permanent_glass_wall; +extern FEAT_IDX feat_pattern_start; +extern FEAT_IDX feat_pattern_1; +extern FEAT_IDX feat_pattern_2; +extern FEAT_IDX feat_pattern_3; +extern FEAT_IDX feat_pattern_4; +extern FEAT_IDX feat_pattern_end; +extern FEAT_IDX feat_pattern_old; +extern FEAT_IDX feat_pattern_exit; +extern FEAT_IDX feat_pattern_corrupted; +extern FEAT_IDX feat_black_market; +extern FEAT_IDX feat_town; +extern FEAT_IDX feat_deep_water; +extern FEAT_IDX feat_shallow_water; +extern FEAT_IDX feat_deep_lava; +extern FEAT_IDX feat_shallow_lava; +extern FEAT_IDX feat_dirt; +extern FEAT_IDX feat_grass; +extern FEAT_IDX feat_flower; +extern FEAT_IDX feat_brake; +extern FEAT_IDX feat_tree; +extern FEAT_IDX feat_mountain; +extern FEAT_IDX feat_swamp; +extern FEAT_IDX feat_undetected; + +extern DUNGEON_IDX dungeon_type; +extern DEPTH *max_dlv; +extern FEAT_IDX feat_wall_outer; +extern FEAT_IDX feat_wall_inner; +extern FEAT_IDX feat_wall_solid; +extern FEAT_IDX floor_type[100], fill_type[100]; extern bool now_damaged; -extern s16b now_message; +extern COMMAND_CODE now_message; extern bool use_menu; /* autopick.c */ @@ -649,12 +644,12 @@ 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 POSITION distance(POSITION y1, POSITION x1, POSITION y2, POSITION x2); +extern bool is_trap(IDX feat); extern bool is_known_trap(cave_type *c_ptr); -extern bool is_closed_door(int feat); +extern bool is_closed_door(IDX feat); extern bool is_hidden_door(cave_type *c_ptr); -extern bool los(int y1, int x1, int y2, int x2); +extern bool los(POSITION y1, POSITION x1, POSITION y2, POSITION x2); extern void update_local_illumination(int y, int x); extern bool player_can_see_bold(int y, int x); extern bool cave_valid_bold(int y, int x); @@ -680,31 +675,31 @@ 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 map_area(POSITION range); extern void wiz_lite(bool ninja); extern void wiz_dark(void); -extern void cave_set_feat(int y, int x, int feat); -extern int conv_dungeon_feat(int newfeat); -extern int feat_state(int feat, int action); +extern void cave_set_feat(POSITION y, POSITION x, IDX feat); +extern IDX conv_dungeon_feat(IDX newfeat); +extern IDX feat_state(IDX feat, int action); extern void cave_alter_feat(int y, int x, int action); 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(int r_idx); -extern void object_kind_track(int k_idx); +extern bool projectable(POSITION y1, POSITION x1, POSITION y2, POSITION x2); +extern void scatter(POSITION *yp, POSITION *xp, POSITION y, POSITION x, POSITION d, int mode); +extern void health_track(MONSTER_IDX m_idx); +extern void monster_race_track(MONRACE_IDX r_idx); +extern void object_kind_track(IDX 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, 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_ammo, int plus_bow, 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); @@ -712,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); @@ -740,7 +735,7 @@ 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, int shuriken); +extern bool do_cmd_throw_aux(int mult, bool boomerang, OBJECT_IDX shuriken); #ifdef TRAVEL extern void do_cmd_travel(void); #endif @@ -787,8 +782,8 @@ 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 void do_cmd_knowledge_quests_completed(FILE *fff, IDX quest_num[]); +extern void do_cmd_knowledge_quests_failed(FILE *fff, IDX 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); @@ -797,11 +792,11 @@ extern void do_cmd_checkquest(void); extern void do_cmd_time(void); /* cmd5.c */ -extern cptr spell_category_name(int tval); +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(int dam, bool force); +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); @@ -824,7 +819,7 @@ extern bool do_cmd_magic_eater(bool only_browse, bool powerful); /* do-spell.c */ extern void stop_singing(void); -extern cptr do_spell(int realm, int spell, int mode); +extern cptr do_spell(REALM_IDX realm, SPELL_IDX spell, int mode); /* dungeon.c */ extern void leave_quest_check(void); @@ -925,32 +920,32 @@ 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(MONSTER_IDX m_idx); extern void process_monsters(void); -extern int get_mproc_idx(int m_idx, int mproc_type); +extern int get_mproc_idx(MONSTER_IDX m_idx, int mproc_type); extern void mproc_init(void); -extern bool set_monster_csleep(int m_idx, int v); -extern bool set_monster_fast(int m_idx, int v); -extern bool set_monster_slow(int m_idx, int v); -extern bool set_monster_stunned(int m_idx, int v); -extern bool set_monster_confused(int m_idx, int v); -extern bool set_monster_monfear(int m_idx, int v); -extern bool set_monster_invulner(int m_idx, int v, bool energy_need); +extern bool set_monster_csleep(MONSTER_IDX m_idx, int v); +extern bool set_monster_fast(MONSTER_IDX m_idx, int v); +extern bool set_monster_slow(MONSTER_IDX m_idx, int v); +extern bool set_monster_stunned(MONSTER_IDX m_idx, int v); +extern bool set_monster_confused(MONSTER_IDX m_idx, int v); +extern bool set_monster_monfear(MONSTER_IDX m_idx, int v); +extern bool set_monster_invulner(MONSTER_IDX m_idx, int v, bool energy_need); extern void process_monsters_mtimed(int mtimed_idx); -extern void dispel_monster_status(int m_idx); +extern void dispel_monster_status(MONSTER_IDX m_idx); 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(int m_idx, int dam, bool *fear, cptr note, int who); +extern void mon_take_hit_mon(MONSTER_IDX m_idx, HIT_POINT dam, bool *fear, cptr note, IDX who); extern bool process_the_world(int num, int who, bool vs_player); -extern void monster_gain_exp(int m_idx, int s_idx); +extern void monster_gain_exp(MONSTER_IDX m_idx, IDX s_idx); /* monster1.c */ -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 roff_top(MONRACE_IDX r_idx); +extern void screen_roff(MONRACE_IDX r_idx, int 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(int r_idx); +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); @@ -963,7 +958,7 @@ extern bool monster_can_enter(int y, int 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); -extern bool no_questor_or_bounty_uniques(int r_idx); +extern bool no_questor_or_bounty_uniques(MONRACE_IDX r_idx); extern void dice_to_string(int base_damage, int dice_num, int dice_side, int dice_mult, int dice_div, char* msg); @@ -974,31 +969,31 @@ 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 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 delete_monster_idx(MONSTER_IDX i); +extern void delete_monster(POSITION y, POSITION x); extern void compact_monsters(int size); extern void wipe_m_list(void); -extern s16b m_pop(void); +extern MONSTER_IDX 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 MONRACE_IDX get_mon_num(DEPTH level); extern void monster_desc(char *desc, monster_type *m_ptr, int mode); -extern int lore_do_probe(int r_idx); -extern void lore_treasure(int m_idx, int num_item, int num_gold); +extern int lore_do_probe(MONRACE_IDX r_idx); +extern void lore_treasure(MONSTER_IDX 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_mon(MONSTER_IDX m_idx, bool full); extern void update_monsters(bool full); -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 place_monster_aux(MONSTER_IDX who, POSITION y, POSITION x, MONRACE_IDX r_idx, BIT_FLAGS mode); +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, 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 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, u32b mode); +extern void update_smart_learn(MONSTER_IDX m_idx, int what); +extern void choose_new_monster(MONSTER_IDX m_idx, bool born, MONRACE_IDX r_idx); extern byte get_mspeed(monster_race *r_ptr); -extern bool player_place(int y, int x); +extern bool player_place(POSITION y, POSITION x); extern void monster_drop_carried_objects(monster_type *m_ptr); /* object1.c */ @@ -1010,20 +1005,20 @@ extern void object_flags_known(object_type *o_ptr, u32b flgs[TR_FLAG_SIZE]); extern cptr item_activation(object_type *o_ptr); extern bool screen_object(object_type *o_ptr, u32b mode); extern char index_to_label(int i); -extern s16b label_to_inven(int c); -extern s16b label_to_equip(int c); +extern INVENTORY_IDX label_to_inven(int c); +extern INVENTORY_IDX label_to_equip(int c); extern s16b wield_slot(object_type *o_ptr); extern cptr mention_use(int i); extern cptr describe_use(int i); -extern bool check_book_realm(const byte book_tval, const byte book_sval); +extern bool check_book_realm(const OBJECT_TYPE_VALUE book_tval, const OBJECT_SUBTYPE_VALUE book_sval); extern bool item_tester_okay(object_type *o_ptr); extern void display_inven(void); extern void display_equip(void); -extern int show_inven(int target_item); -extern int show_equip(int target_item); +extern COMMAND_CODE show_inven(int target_item); +extern COMMAND_CODE show_equip(int target_item); extern void toggle_inven_equip(void); extern bool can_get_item(void); -extern bool get_item(int *cp, cptr pmt, cptr str, int mode); +extern bool get_item(OBJECT_IDX *cp, cptr pmt, cptr str, int mode); /* object2.c */ extern void excise_object_idx(int o_idx); @@ -1031,7 +1026,7 @@ extern void delete_object_idx(int o_idx); extern void delete_object(int y, int x); extern void compact_objects(int size); extern void wipe_o_list(void); -extern s16b o_pop(void); +extern IDX o_pop(void); extern s16b get_obj_num(int level); extern void object_known(object_type *o_ptr); extern void object_aware(object_type *o_ptr); @@ -1044,15 +1039,15 @@ extern void reduce_charges(object_type *o_ptr, int amt); extern int object_similar_part(object_type *o_ptr, object_type *j_ptr); extern bool object_similar(object_type *o_ptr, object_type *j_ptr); extern void object_absorb(object_type *o_ptr, object_type *j_ptr); -extern s16b lookup_kind(int tval, int sval); +extern IDX lookup_kind(OBJECT_TYPE_VALUE tval, OBJECT_SUBTYPE_VALUE sval); extern void object_wipe(object_type *o_ptr); -extern void object_prep(object_type *o_ptr, int k_idx); +extern void object_prep(object_type *o_ptr, KIND_OBJECT_IDX k_idx); extern void object_copy(object_type *o_ptr, object_type *j_ptr); -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 void apply_magic(object_type *o_ptr, DEPTH lev, BIT_FLAGS mode); +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(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 special, bool known); extern void amusement(int y1, int x1, int num, bool known); @@ -1075,7 +1070,7 @@ 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); +extern void display_koff(IDX k_idx); extern object_type *choose_warning_item(void); extern bool process_warning(int xx, int yy); extern void do_cmd_kaji(bool only_browse); @@ -1095,78 +1090,78 @@ 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 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, int typ); -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); -extern bool project(int who, int rad, int y, int x, int dam, int typ, int flg, int monspell); +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); +extern u16b bolt_pict(POSITION y, POSITION x, POSITION ny, POSITION nx, int typ); +extern sint project_path(u16b *gp, POSITION range, POSITION y1, POSITION x1, POSITION y2, POSITION x2, int flg); +extern POSITION dist_to_line(POSITION y, POSITION x, POSITION y1, POSITION x1, POSITION y2, POSITION x2); +extern bool project(MONSTER_IDX who, POSITION rad, POSITION y, POSITION x, HIT_POINT dam, int typ, int flg, int monspell); extern int project_length; -extern bool binding_field(int dam); -extern void seal_of_mirror(int dam); +extern bool binding_field(HIT_POINT dam); +extern void seal_of_mirror(HIT_POINT dam); /* spells2.c */ -extern void message_pain(int m_idx, int dam); +extern void message_pain(MONSTER_IDX m_idx, HIT_POINT dam); extern void self_knowledge(void); -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 detect_objects_gold(int range); -extern bool detect_objects_normal(int range); -extern bool detect_objects_magic(int range); -extern bool detect_monsters_normal(int range); -extern bool detect_monsters_invis(int range); -extern bool detect_monsters_evil(int range); -extern bool detect_monsters_xxx(int range, u32b match_flag); -extern bool detect_monsters_string(int range, cptr); -extern bool detect_monsters_nonliving(int range); -extern bool detect_monsters_mind(int range); -extern bool detect_all(int range); +extern bool detect_traps(POSITION range, bool known); +extern bool detect_doors(POSITION range); +extern bool detect_stairs(POSITION range); +extern bool detect_treasure(POSITION range); +extern bool detect_objects_gold(POSITION range); +extern bool detect_objects_normal(POSITION range); +extern bool detect_objects_magic(POSITION range); +extern bool detect_monsters_normal(POSITION range); +extern bool detect_monsters_invis(POSITION range); +extern bool detect_monsters_evil(POSITION range); +extern bool detect_monsters_xxx(POSITION range, u32b match_flag); +extern bool detect_monsters_string(POSITION range, cptr); +extern bool detect_monsters_nonliving(POSITION range); +extern bool detect_monsters_mind(POSITION range); +extern bool detect_all(POSITION range); extern bool wall_stone(void); extern bool speed_monsters(void); extern bool slow_monsters(int power); extern bool sleep_monsters(int power); -extern void aggravate_monsters(int who); -extern bool genocide_aux(int m_idx, int power, bool player_cast, int dam_side, cptr spell_name); +extern void aggravate_monsters(MONSTER_IDX who); +extern bool genocide_aux(MONSTER_IDX m_idx, int power, bool player_cast, int dam_side, cptr spell_name); extern bool symbol_genocide(int power, bool player_cast); extern bool mass_genocide(int power, bool player_cast); extern bool mass_genocide_undead(int power, bool player_cast); extern bool probing(void); extern bool banish_evil(int dist); -extern bool dispel_evil(int dam); -extern bool dispel_good(int dam); -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 dispel_evil(HIT_POINT dam); +extern bool dispel_good(HIT_POINT dam); +extern bool dispel_undead(HIT_POINT dam); +extern bool dispel_monsters(HIT_POINT dam); +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, int m_idx); +extern bool earthquake_aux(int cy, int cx, int r, MONSTER_IDX m_idx); 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); -extern bool lite_area(int dam, int rad); -extern bool unlite_area(int dam, int rad); -extern bool fire_ball(int typ, int dir, int dam, int rad); -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 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_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(int who, int typ, int x, int y, HIT_POINT dam, int rad); +extern bool fire_bolt(int typ, int dir, HIT_POINT 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 lite_line(int dir, int dam); -extern bool drain_life(int dir, int dam); +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 death_ray(int dir, int plev); -extern bool wall_to_mud(int dir, int dam); +extern bool wall_to_mud(int dir, HIT_POINT dam); extern bool destroy_door(int dir); extern bool disarm_trap(int dir); extern bool wizard_lock(int dir); -extern bool heal_monster(int dir, int dam); +extern bool heal_monster(int dir, HIT_POINT dam); extern bool speed_monster(int dir, int power); extern bool slow_monster(int dir, int power); extern bool sleep_monster(int dir, int power); @@ -1184,33 +1179,33 @@ extern bool tree_creation(void); extern bool glyph_creation(void); extern bool destroy_doors_touch(void); extern bool disarm_traps_touch(void); -extern bool animate_dead(int who, int y, int x); +extern bool animate_dead(MONSTER_IDX who, POSITION y, POSITION x); extern bool sleep_monsters_touch(void); extern bool activate_ty_curse(bool stop_ty, int *count); -extern int activate_hi_summon(int y, int x, bool can_pet); -extern int summon_cyber(int who, int y, int x); +extern int activate_hi_summon(POSITION y, POSITION x, bool can_pet); +extern int summon_cyber(MONSTER_IDX who, POSITION y, POSITION x); extern void wall_breaker(void); -extern bool confuse_monsters(int dam); -extern bool charm_monsters(int dam); -extern bool charm_animals(int dam); -extern bool stun_monsters(int dam); -extern bool stasis_monsters(int dam); +extern bool confuse_monsters(HIT_POINT dam); +extern bool charm_monsters(HIT_POINT dam); +extern bool charm_animals(HIT_POINT dam); +extern bool stun_monsters(HIT_POINT dam); +extern bool stasis_monsters(HIT_POINT dam); extern bool banish_monsters(int dist); -extern bool turn_monsters(int dam); -extern bool turn_evil(int dam); +extern bool turn_monsters(HIT_POINT dam); +extern bool turn_evil(HIT_POINT dam); extern bool deathray_monsters(void); 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(int dam); +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, int dam, int flg); -extern bool project_hack(int typ, int dam); +extern bool project_hook(int typ, int dir, HIT_POINT dam, int flg); +extern bool project_hack(int typ, HIT_POINT dam); extern bool eat_magic(int power); extern void discharge_minion(void); extern bool kawarimi(bool success); @@ -1218,17 +1213,17 @@ extern bool rush_attack(bool *mdeath); extern void remove_all_mirrors(bool explode); /* spells3.c */ -extern bool teleport_away(int m_idx, int dis, u32b mode); -extern void teleport_monster_to(int m_idx, int ty, int tx, int power, u32b mode); +extern bool teleport_away(MONSTER_IDX m_idx, int dis, u32b mode); +extern void teleport_monster_to(MONSTER_IDX m_idx, POSITION ty, POSITION tx, int power, u32b mode); extern bool cave_player_teleportable_bold(int y, int x, u32b mode); extern bool teleport_player_aux(int dis, u32b mode); extern void teleport_player(int dis, u32b mode); -extern void teleport_player_away(int m_idx, int dis); -extern void teleport_player_to(int ny, int nx, u32b mode); -extern void teleport_away_followable(int m_idx); -extern void teleport_level(int m_idx); -extern int choose_dungeon(cptr note, int y, int x); -extern bool recall_player(int turns); +extern void teleport_player_away(MONSTER_IDX m_idx, int dis); +extern void teleport_player_to(POSITION ny, POSITION nx, u32b mode); +extern void teleport_away_followable(MONSTER_IDX m_idx); +extern void teleport_level(MONSTER_IDX m_idx); +extern DUNGEON_IDX choose_dungeon(cptr note, POSITION y, POSITION x); +extern bool recall_player(TIME_EFFECT turns); extern bool word_of_recall(void); extern bool reset_recall(void); extern bool apply_disenchant(int mode); @@ -1243,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); @@ -1256,7 +1251,7 @@ 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 bool potion_smash_effect(MONSTER_IDX who, POSITION y, POSITION x, KIND_OBJECT_IDX 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); @@ -1264,7 +1259,7 @@ 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 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 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); extern bool hates_elec(object_type *o_ptr); extern bool hates_fire(object_type *o_ptr); @@ -1274,20 +1269,20 @@ 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, 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 int acid_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura); +extern int elec_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura); +extern int fire_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura); +extern int cold_dam(HIT_POINT 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); extern bool curse_weapon(bool force, int slot); extern bool brand_bolts(void); -extern bool polymorph_monster(int y, int x); +extern bool polymorph_monster(POSITION y, POSITION 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(int py, int px); +extern void massacre(void); /* store.c */ extern bool combine_and_reorder_home(int store_num); @@ -1298,18 +1293,17 @@ extern void store_init(int town_num, int store_num); 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 bool get_nightmare(MONRACE_IDX r_idx); extern void battle_monsters(void); extern void do_cmd_bldg(void); extern void do_cmd_quest(void); extern void quest_discovery(int q_idx); -extern int quest_number(int level); -extern int random_quest_number(int level); +extern IDX quest_number(DEPTH level); +extern IDX random_quest_number(DEPTH level); extern bool tele_town(void); -extern s16b calc_crit_ratio_shot(int weight, int plus_ammo,int plus_bow, int dam); -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); +extern HIT_POINT calc_crit_ratio_shot(HIT_POINT plus_ammo, HIT_POINT plus_bow); +extern HIT_POINT calc_expect_crit_shot(int weight, int plus_ammo,int plus_bow, HIT_POINT dam); +extern HIT_POINT calc_expect_crit(int weight, int plus, HIT_POINT dam, s16b meichuu, bool dokubari); /* util.c */ extern errr path_parse(char *buf, int max, cptr file); @@ -1341,15 +1335,17 @@ extern void ascii_to_text(char *buf, cptr str); extern errr macro_add(cptr pat, cptr act); extern sint macro_find_exact(cptr pat); extern char inkey(void); -extern cptr quark_str(s16b num); +extern cptr quark_str(STR_OFFSET 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); @@ -1366,7 +1362,7 @@ 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 QUANTITY get_quantity(cptr prompt, QUANTITY max); extern void pause_line(int row); extern void request_command(int shopping); extern bool is_a_vowel(int ch); @@ -1419,49 +1415,49 @@ extern void update_playtime(void); 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, IDX 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); @@ -1477,13 +1473,13 @@ extern void calc_android_exp(void); extern void lose_exp(s32b amount); 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 */ @@ -1492,8 +1488,8 @@ extern void complete_quest(int quest_num); extern void check_quest_completion(monster_type *m_ptr); extern void check_find_art_quest_completion(object_type *o_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 monster_death(MONSTER_IDX m_idx, bool drop_item); +extern bool mon_take_hit(MONSTER_IDX m_idx, HIT_POINT dam, bool *fear, cptr note); extern void get_screen_size(int *wid_p, int *hgt_p); extern void panel_bounds_center(void); extern void resize_map(void); @@ -1503,22 +1499,22 @@ extern void verify_panel(void); 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); +extern bool target_able(MONSTER_IDX m_idx); extern bool target_okay(void); extern bool target_set(int mode); -extern void target_set_prepare_look(); -extern bool get_aim_dir(int *dp); +extern void target_set_prepare_look(void); +extern bool get_aim_dir(DIRECTION *dp); extern bool get_hack_dir(int *dp); extern bool get_rep_dir(int *dp, bool under); extern bool get_rep_dir2(int *dp); extern void gain_level_reward(int chosen_reward); -extern bool tgt_pt (int *x, int *y); +extern bool tgt_pt(POSITION *x, POSITION *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 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(int sval); -extern int bow_tmul(int sval); +extern s16b 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); extern int riding_exp_level(int riding_exp); @@ -1555,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); @@ -1567,27 +1563,16 @@ extern bool do_cmd_mane(bool baigaesi); 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); +extern bool dispel_check(MONSTER_IDX m_idx); +extern bool spell_is_inate(SPELL_IDX spell); +extern bool make_attack_spell(MONSTER_IDX m_idx); +extern void beam(MONSTER_IDX m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type); +extern void bolt(MONSTER_IDX m_idx, int y, int x, int typ, int dam_hp, int monspell, int target_type); +extern void breath(int y, int x, MONSTER_IDX 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); +extern bool monst_spell_monst(MONSTER_IDX m_idx); /* mspells3.c */ extern bool do_cmd_cast_learned(void); @@ -1595,11 +1580,11 @@ 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 bool spell_learnable(MONSTER_IDX m_idx); +extern int monspell_to_player(int SPELL_NUM, POSITION y, POSITION x, MONSTER_IDX m_idx); +extern int monspell_to_monster(int SPELL_NUM, POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx); +extern int monspell_damage(int SPELL_NUM, MONSTER_IDX m_idx, int TYPE); +extern int monspell_race_damage(int SPELL_NUM, MONRACE_IDX r_idx, int TYPE); extern int monspell_bluemage_damage(int SPELL_NUM, int plev, int TYPE); /* hissatsu.c */ @@ -1607,10 +1592,10 @@ extern void hissatsu_info(char *p, int power); extern void do_cmd_hissatsu(void); extern void do_cmd_hissatsu_browse(void); extern void do_cmd_gain_hissatsu(void); -extern s16b mult_hissatsu(int mult, u32b *flgs, monster_type *m_ptr, int mode); +extern MULTIPLY mult_hissatsu(MULTIPLY mult, BIT_FLAGS *flgs, monster_type *m_ptr, int mode); /* mutation.c */ -extern int count_bits(u32b x); +extern int count_bits(BIT_FLAGS x); extern bool gain_random_mutation(int choose_mut); extern bool lose_mutation(int choose_mut); extern void dump_mutations(FILE *OutFile); @@ -1668,8 +1653,8 @@ extern void fsetfileinfo(cptr path, u32b fcreator, u32b ftype); #ifdef ALLOW_REPEAT /* TNB */ /* util.c */ -extern void repeat_push(int what); -extern bool repeat_pull(int *what); +extern void repeat_push(COMMAND_CODE what); +extern bool repeat_pull(COMMAND_CODE *what); extern void repeat_check(void); #endif /* ALLOW_REPEAT -- TNB */ @@ -1698,9 +1683,9 @@ extern bool do_cmd_disarm_aux(int y, int x, int dir); #ifdef ALLOW_EASY_FLOOR /* TNB */ /* object1.c */ -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 int scan_floor(int *items, POSITION y, POSITION x, int mode); +extern COMMAND_CODE show_floor(int target_item, POSITION y, POSITION x, TERM_POSITION *min_width); +extern bool get_item_floor(COMMAND_CODE *cp, cptr pmt, cptr str, int mode); extern void py_pickup_floor(bool pickup); /* variable.c */ @@ -1731,7 +1716,7 @@ extern bool object_is_nameless(object_type *o_ptr); extern bool object_allow_two_hands_wielding(object_type *o_ptr); /* wild.c */ -extern void set_floor_and_wall(byte type); +extern void set_floor_and_wall(DUNGEON_IDX type); extern void wilderness_gen(void); extern void wilderness_gen_small(void); extern errr init_wilderness(void); @@ -1744,7 +1729,7 @@ extern bool change_wild_mode(void); extern void spoil_random_artifact(cptr fname); /* wizard2.c */ -extern void strip_name(char *buf, int k_idx); +extern void strip_name(char *buf, KIND_OBJECT_IDX k_idx); /* avatar.c */ extern bool compare_virtue(int type, int num, int tekitou); @@ -1819,9 +1804,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_store(int dam); -extern bool teleport_barrier(int m_idx); -extern bool magic_barrier(int m_idx); -extern bool multiply_barrier(int m_idx); - +extern void revenge_spell(void); +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);