X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fxtra2.c;h=3011542eae29eb362ddfd19b54cf51d0d3093ce2;hb=827de5d529f68b7c7d691fe22cb89669b44725e2;hp=dd7cf09124f803a8ee571ba42a53843f33cbff33;hpb=bd9cd825fb0bc38c4370678b213b9c0a1f0f3ba0;p=hengband%2Fhengband.git diff --git a/src/xtra2.c b/src/xtra2.c index dd7cf0912..3011542ea 100644 --- a/src/xtra2.c +++ b/src/xtra2.c @@ -27,7 +27,7 @@ void check_experience(void) bool level_mutation = FALSE; bool level_inc_stat = FALSE; bool android = (p_ptr->prace == RACE_ANDROID ? TRUE : FALSE); - int old_lev = p_ptr->lev; + PLAYER_LEVEL old_lev = p_ptr->lev; /* Hack -- lower limit */ if (p_ptr->exp < 0) p_ptr->exp = 0; @@ -481,7 +481,7 @@ void check_quest_completion(monster_type *m_ptr) { int i; - for (i = max_quests - 1; i > 0; i--) + for (i = max_q_idx - 1; i > 0; i--) { quest_type* const q_ptr = &quest[i]; @@ -680,7 +680,7 @@ void check_find_art_quest_completion(object_type *o_ptr) { int i; /* Check if completed a quest */ - for (i = 0; i < max_quests; i++) + for (i = 0; i < max_q_idx; i++) { if ((quest[i].type == QUEST_TYPE_FIND_ARTIFACT) && (quest[i].status == QUEST_STATUS_TAKEN) && @@ -792,7 +792,7 @@ void monster_death(MONSTER_IDX m_idx, bool drop_item) { if (r_ptr->blow[i].method == RBM_EXPLODE) { - int flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL; + BIT_FLAGS flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL; int typ = mbe_info[r_ptr->blow[i].effect].explode_type; DICE_NUMBER d_dice = r_ptr->blow[i].d_dice; DICE_SID d_side = r_ptr->blow[i].d_side; @@ -1017,7 +1017,7 @@ void monster_death(MONSTER_IDX m_idx, bool drop_item) case MON_UNMAKER: /* One more ultra-hack: An Unmaker goes out with a big bang! */ { - int flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL; + BIT_FLAGS flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL; (void)project(m_idx, 6, y, x, 100, GF_CHAOS, flg, -1); } break; @@ -1132,7 +1132,7 @@ void monster_death(MONSTER_IDX m_idx, bool drop_item) case MON_ROLENTO: { - int flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL; + BIT_FLAGS flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL; (void)project(m_idx, 3, y, x, damroll(20, 10), GF_FIRE, flg, -1); } break; @@ -2720,13 +2720,11 @@ static void ang_sort_swap_distance(vptr u, vptr v, int a, int b) /* * Hack -- help "select" a location (see below) */ -static s16b target_pick(POSITION y1, POSITION x1, POSITION dy, POSITION dx) +static POSITION_IDX target_pick(POSITION y1, POSITION x1, POSITION dy, POSITION dx) { - int i, v; - - int x2, y2, x3, y3, x4, y4; - - int b_i = -1, b_v = 9999; + POSITION_IDX i, v; + POSITION x2, y2, x3, y3, x4, y4; + POSITION_IDX b_i = -1, b_v = 9999; /* Scan the locations */ @@ -2836,7 +2834,7 @@ static bool target_set_accept(int y, int x) * * Return the number of target_able monsters in the set. */ -static void target_set_prepare(int mode) +static void target_set_prepare(BIT_FLAGS mode) { int y, x; int min_hgt, max_hgt, min_wid, max_wid; @@ -2998,7 +2996,7 @@ bool show_gold_on_floor = FALSE; * * This function must handle blindness/hallucination. */ -static int target_set_aux(int y, int x, int mode, cptr info) +static char target_set_aux(POSITION y, POSITION x, BIT_FLAGS mode, cptr info) { cave_type *c_ptr = &cave[y][x]; s16b this_o_idx, next_o_idx = 0; @@ -3006,11 +3004,12 @@ static int target_set_aux(int y, int x, int mode, cptr info) bool boring = TRUE; s16b feat; feature_type *f_ptr; - int query = '\001'; + char query = '\001'; char out_val[MAX_NLEN+80]; #ifdef ALLOW_EASY_FLOOR - int floor_list[23], floor_num = 0; + OBJECT_IDX floor_list[23]; + ITEM_NUMBER floor_num = 0; /* Scan all objects in the grid */ if (easy_floor) @@ -3264,10 +3263,10 @@ static int target_set_aux(int y, int x, int mode, cptr info) /* Display rough information about items */ #ifdef JP sprintf(out_val, "%s %d個のアイテム%s%s ['x'で一覧, %s]", - s1, floor_num, s2, s3, info); + s1, (int)floor_num, s2, s3, info); #else sprintf(out_val, "%s%s%sa pile of %d items [x,%s]", - s1, s2, s3, floor_num, info); + s1, s2, s3, (int)floor_num, info); #endif prt(out_val, 0, 0); @@ -3300,10 +3299,10 @@ static int target_set_aux(int y, int x, int mode, cptr info) /* Prompt */ #ifdef JP sprintf(out_val, "%s %d個のアイテム%s%s [Enterで次へ, %s]", - s1, floor_num, s2, s3, info); + s1, (int)floor_num, s2, s3, info); #else sprintf(out_val, "%s%s%sa pile of %d items [Enter,%s]", - s1, s2, s3, floor_num, info); + s1, s2, s3, (int)floor_num, info); #endif prt(out_val, 0, 0); @@ -3511,9 +3510,9 @@ static int target_set_aux(int y, int x, int mode, cptr info) if (c_ptr->mimic) sprintf(f_idx_str, "%d/%d", c_ptr->feat, c_ptr->mimic); else sprintf(f_idx_str, "%d", c_ptr->feat); #ifdef JP - sprintf(out_val, "%s%s%s%s[%s] %x %s %d %d %d (%d,%d) %d", s1, name, s2, s3, info, c_ptr->info, f_idx_str, c_ptr->dist, c_ptr->cost, c_ptr->when, y, x, travel.cost[y][x]); + sprintf(out_val, "%s%s%s%s[%s] %x %s %d %d %d (%d,%d) %d", s1, name, s2, s3, info, (unsigned int)c_ptr->info, f_idx_str, c_ptr->dist, c_ptr->cost, c_ptr->when, (int)y, (int)x, travel.cost[y][x]); #else - sprintf(out_val, "%s%s%s%s [%s] %x %s %d %d %d (%d,%d)", s1, s2, s3, name, info, c_ptr->info, f_idx_str, c_ptr->dist, c_ptr->cost, c_ptr->when, y, x); + sprintf(out_val, "%s%s%s%s [%s] %x %s %d %d %d (%d,%d)", s1, s2, s3, name, info, c_ptr->info, f_idx_str, c_ptr->dist, c_ptr->cost, c_ptr->when, (int)y, (int)x); #endif } else @@ -3580,7 +3579,7 @@ static int target_set_aux(int y, int x, int mode, cptr info) * This command will cancel any old target, even if used from * inside the "look" command. */ -bool target_set(int mode) +bool target_set(BIT_FLAGS mode) { int i, d, m, t, bd; POSITION y = p_ptr->y; @@ -4092,6 +4091,7 @@ bool get_aim_dir(DIRECTION *dp) DIRECTION dir; char command; cptr p; + COMMAND_CODE code; /* Initialize */ (*dp) = 0; @@ -4104,17 +4104,18 @@ bool get_aim_dir(DIRECTION *dp) #ifdef ALLOW_REPEAT /* TNB */ - if (repeat_pull(dp)) + if (repeat_pull(&code)) { /* Confusion? */ /* Verify */ - if (!(*dp == 5 && !target_okay())) + if (!(code == 5 && !target_okay())) { /* return (TRUE); */ - dir = *dp; + dir = (DIRECTION)code; } } + *dp = (DIRECTION)code; #endif /* ALLOW_REPEAT -- TNB */ @@ -4209,7 +4210,7 @@ bool get_aim_dir(DIRECTION *dp) #ifdef ALLOW_REPEAT /* TNB */ /* repeat_push(dir); */ - repeat_push(command_dir); + repeat_push((COMMAND_CODE)command_dir); #endif /* ALLOW_REPEAT -- TNB */ @@ -4239,6 +4240,7 @@ bool get_rep_dir(DIRECTION *dp, bool under) { DIRECTION dir; cptr prompt; + COMMAND_CODE code; /* Initialize */ (*dp) = 0; @@ -4248,11 +4250,12 @@ bool get_rep_dir(DIRECTION *dp, bool under) #ifdef ALLOW_REPEAT /* TNB */ - if (repeat_pull(dp)) + if (repeat_pull(&code)) { - dir = *dp; + dir = (DIRECTION)code; /* return (TRUE); */ } + *dp = (DIRECTION)code; #endif /* ALLOW_REPEAT -- TNB */ @@ -4364,7 +4367,7 @@ bool get_rep_dir(DIRECTION *dp, bool under) #ifdef ALLOW_REPEAT /* TNB */ /* repeat_push(dir); */ - repeat_push(command_dir); + repeat_push((COMMAND_CODE)command_dir); #endif /* ALLOW_REPEAT -- TNB */ @@ -4376,6 +4379,7 @@ bool get_rep_dir(DIRECTION *dp, bool under) bool get_rep_dir2(DIRECTION *dp) { DIRECTION dir; + COMMAND_CODE code; /* Initialize */ (*dp) = 0; @@ -4385,11 +4389,12 @@ bool get_rep_dir2(DIRECTION *dp) #ifdef ALLOW_REPEAT /* TNB */ - if (repeat_pull(dp)) + if (repeat_pull(&code)) { - dir = *dp; + dir = (DIRECTION)code; /* return (TRUE); */ } + *dp = (DIRECTION)code; #endif /* ALLOW_REPEAT -- TNB */ @@ -4441,7 +4446,7 @@ bool get_rep_dir2(DIRECTION *dp) #ifdef ALLOW_REPEAT /* TNB */ /* repeat_push(dir); */ - repeat_push(command_dir); + repeat_push((COMMAND_CODE)command_dir); #endif /* ALLOW_REPEAT -- TNB */ @@ -5525,12 +5530,14 @@ s16b gain_energy(void) } -/* - * Return bow energy +/*! + * @brief 射撃武器の攻撃に必要な基本消費エネルギーを返す/Return bow energy + * @param sval 射撃武器のアイテム副分類ID + * @return 消費する基本エネルギー */ -s16b bow_energy(OBJECT_SUBTYPE_VALUE sval) +ENERGY bow_energy(OBJECT_SUBTYPE_VALUE sval) { - int energy = 100; + ENERGY energy = 10000; /* Analyze the launcher */ switch (sval) @@ -5732,7 +5739,7 @@ cptr rumor_bind_name(char *base, cptr fullname) void display_rumor(bool ex) { - bool err; + errr err; int section = 0; char Rumor[1024];