* @param flgs フラグ情報を受け取る配列
* @return なし
*/
-void object_flags(object_type *o_ptr, u32b flgs[TR_FLAG_SIZE])
+void object_flags(object_type *o_ptr, BIT_FLAGS flgs[TR_FLAG_SIZE])
{
object_kind *k_ptr = &k_info[o_ptr->k_idx];
int i;
* @param flgs フラグ情報を受け取る配列
* @return なし
*/
-void object_flags_known(object_type *o_ptr, u32b flgs[TR_FLAG_SIZE])
+void object_flags_known(object_type *o_ptr, BIT_FLAGS flgs[TR_FLAG_SIZE])
{
bool spoil = FALSE;
int i;
static cptr item_activation_dragon_breath(object_type *o_ptr)
{
static char desc[256];
- u32b flgs[TR_FLAG_SIZE]; /* for resistance flags */
+ BIT_FLAGS flgs[TR_FLAG_SIZE]; /* for resistance flags */
int i, n = 0;
object_flags(o_ptr, flgs);
*/
cptr item_activation(object_type *o_ptr)
{
- u32b flgs[TR_FLAG_SIZE];
+ BIT_FLAGS flgs[TR_FLAG_SIZE];
/* Extract the flags */
object_flags(o_ptr, flgs);
* @param mode 表示オプション
* @return 特筆すべき情報が一つでもあった場合TRUE、一つもなく表示がキャンセルされた場合FALSEを返す。
*/
-bool screen_object(object_type *o_ptr, u32b mode)
+bool screen_object(object_type *o_ptr, BIT_FLAGS mode)
{
- int i = 0, j, k;
+ int i = 0, j, k;
- u32b flgs[TR_FLAG_SIZE];
+ BIT_FLAGS flgs[TR_FLAG_SIZE];
char temp[70 * 20];
cptr info[128];
char o_name[MAX_NLEN];
int wid, hgt;
- int rad;
+ POSITION rad;
char desc[256];
int trivial_info = 0;
if (have_flag(flgs, TR_LITE_FUEL) && o_ptr->name2 != EGO_LITE_DARKNESS)
{
- if(rad > 0) sprintf(desc, _("それは燃料補給によって明かり(半径 %d)を授ける。", "It provides light (radius %d) when fueled."), rad);
+ if(rad > 0) sprintf(desc, _("それは燃料補給によって明かり(半径 %d)を授ける。", "It provides light (radius %d) when fueled."), (int)rad);
}
else
{
- if(rad > 0) sprintf(desc, _("それは永遠なる明かり(半径 %d)を授ける。", "It provides light (radius %d) forever."), rad);
- if(rad < 0) sprintf(desc, _("それは明かりの半径を狭める(半径に-%d)。", "It decreases radius of light source by %d."), -rad);
+ if(rad > 0) sprintf(desc, _("それは永遠なる明かり(半径 %d)を授ける。", "It provides light (radius %d) forever."), (int)rad);
+ if(rad < 0) sprintf(desc, _("それは明かりの半径を狭める(半径に-%d)。", "It decreases radius of light source by %d."), (int)-rad);
}
if(rad != 0) info[i++] = desc;
* @return 対応するID。該当スロットにオブジェクトが存在しなかった場合-1を返す / Return "-1" if the label does not indicate a real item
* @details Note that the label does NOT distinguish inven/equip.
*/
-s16b label_to_inven(int c)
+INVENTORY_IDX label_to_inven(int c)
{
- int i;
+ INVENTORY_IDX i;
/* Convert */
- i = (islower(c) ? A2I(c) : -1);
+ i = (INVENTORY_IDX)(islower(c) ? A2I(c) : -1);
/* Verify the index */
if ((i < 0) || (i > INVEN_PACK)) return (-1);
* Convert a label into the index of a item in the "equip"
* @return 対応するID。該当スロットにオブジェクトが存在しなかった場合-1を返す / Return "-1" if the label does not indicate a real item
*/
-s16b label_to_equip(int c)
+INVENTORY_IDX label_to_equip(int c)
{
- int i;
+ INVENTORY_IDX i;
/* Convert */
- i = (islower(c) ? A2I(c) : -1) + INVEN_RARM;
+ i = (INVENTORY_IDX)(islower(c) ? A2I(c) : -1) + INVEN_RARM;
/* Verify the index */
if ((i < INVEN_RARM) || (i >= INVEN_TOTAL)) return (-1);
{
register int i, n, z = 0;
object_type *o_ptr;
- byte attr = TERM_WHITE;
+ TERM_COLOR attr = TERM_WHITE;
char tmp_val[80];
char o_name[MAX_NLEN];
int wid, hgt;
{
register int i, n;
object_type *o_ptr;
- byte attr = TERM_WHITE;
+ TERM_COLOR attr = TERM_WHITE;
char tmp_val[80];
char o_name[MAX_NLEN];
int wid, hgt;
* Also, the tag "@xn" will work as well, where "n" is a any tag-char,\n
* and "x" is the "current" command_cmd code.\n
*/
-static bool get_tag(int *cp, char tag, int mode)
+static bool get_tag(COMMAND_CODE *cp, char tag, BIT_FLAGS mode)
{
- int i, start, end;
+ COMMAND_CODE i;
+ COMMAND_CODE start, end;
cptr s;
/* Extract index from mode */
* Also, the tag "@xn" will work as well, where "n" is a any tag-char,\n
* and "x" is the "current" command_cmd code.\n
*/
-static bool get_tag_floor(int *cp, char tag, int floor_list[], int floor_num)
+static bool get_tag_floor(COMMAND_CODE *cp, char tag, FLOOR_IDX floor_list[], ITEM_NUMBER floor_num)
{
- int i;
+ COMMAND_CODE i;
cptr s;
/**** Find a tag in the form of {@x#} (allow alphabet tag) ***/
* @param mode 所持品リストか装備品リストかの切り替え
* @return なし
*/
-static void prepare_label_string(char *label, int mode)
+static void prepare_label_string(char *label, BIT_FLAGS mode)
{
cptr alphabet_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int offset = (mode == USE_EQUIP) ? INVEN_RARM : 0;
/* Move each label */
for (i = 0; i < 52; i++)
{
- int index;
+ COMMAND_CODE index;
char c = alphabet_chars[i];
/* Find a tag with this label */
*/
/*
*/
-static void prepare_label_string_floor(char *label, int floor_list[], int floor_num)
+static void prepare_label_string_floor(char *label, FLOOR_IDX floor_list[], ITEM_NUMBER floor_num)
{
cptr alphabet_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int i;
/* Move each label */
for (i = 0; i < 52; i++)
{
- int index;
+ COMMAND_CODE index;
char c = alphabet_chars[i];
/* Find a tag with this label */
* @details
* Hack -- do not display "trailing" empty slots
*/
-int show_inven(int target_item)
+COMMAND_CODE show_inven(int target_item)
{
- int i, j, k, l, z = 0;
+ COMMAND_CODE i;
+ int j, k, l, z = 0;
int col, cur_col, len;
object_type *o_ptr;
char o_name[MAX_NLEN];
char tmp_val[80];
- int out_index[23];
- byte out_color[23];
+ COMMAND_CODE out_index[23];
+ TERM_COLOR out_color[23];
char out_desc[23][MAX_NLEN];
- int target_item_label = 0;
- int wid, hgt;
+ COMMAND_CODE target_item_label = 0;
+ TERM_LEN wid, hgt;
char inven_label[52 + 1];
/* Starting column */
* @param target_item アイテムの選択処理を行うか否か。
* @return 選択したアイテムのタグ
*/
-int show_equip(int target_item)
+COMMAND_CODE show_equip(int target_item)
{
- int i, j, k, l;
+ COMMAND_CODE i;
+ int j, k, l;
int col, cur_col, len;
object_type *o_ptr;
char tmp_val[80];
char o_name[MAX_NLEN];
- int out_index[23];
- byte out_color[23];
+ COMMAND_CODE out_index[23];
+ TERM_COLOR out_color[23];
char out_desc[23][MAX_NLEN];
- int target_item_label = 0;
- int wid, hgt;
+ COMMAND_CODE target_item_label = 0;
+ TERM_LEN wid, hgt;
char equip_label[52 + 1];
/* Starting column */
if ((((i == INVEN_RARM) && p_ptr->hidarite) || ((i == INVEN_LARM) && p_ptr->migite)) && p_ptr->ryoute)
{
-#ifdef JP
- (void)strcpy(out_desc[k],"(武器を両手持ち)");
-#else
- (void)strcpy(out_desc[k],"(wielding with two-hands)");
-#endif
+ (void)strcpy(out_desc[k],_("(武器を両手持ち)", "(wielding with two-hands)"));
out_color[k] = TERM_WHITE;
}
else
* @return 確認がYesならTRUEを返す。
* @details The item can be negative to mean "item on floor".
*/
-static bool verify(cptr prompt, int item)
+static bool verify(cptr prompt, INVENTORY_IDX item)
{
char o_name[MAX_NLEN];
char out_val[MAX_NLEN+20];
* @details The item can be negative to mean "item on floor".
* Hack -- allow user to "prevent" certain choices
*/
-static bool get_item_allow(int item)
+static bool get_item_allow(INVENTORY_IDX item)
{
cptr s;
* @param i 選択アイテムID
* @return 正規のIDならばTRUEを返す。
*/
-static bool get_item_okay(int i)
+static bool get_item_okay(OBJECT_IDX i)
{
/* Illegal items */
if ((i < 0) || (i >= INVEN_TOTAL)) return (FALSE);
*/
bool can_get_item(void)
{
- int j, floor_list[23], floor_num = 0;
+ int j;
+ OBJECT_IDX floor_list[23];
+ ITEM_NUMBER floor_num = 0;
for (j = 0; j < INVEN_TOTAL; j++)
if (item_tester_okay(&inventory[j]))
* We always erase the prompt when we are done, leaving a blank line,\n
* or a warning message, if appropriate, if no items are available.\n
*/
-bool get_item(int *cp, cptr pmt, cptr str, int mode)
+bool get_item(OBJECT_IDX *cp, cptr pmt, cptr str, BIT_FLAGS mode)
{
- s16b this_o_idx, next_o_idx = 0;
+ OBJECT_IDX this_o_idx, next_o_idx = 0;
char which = ' ';
- int j, k, i1, i2, e1, e2;
+ int j;
+ OBJECT_IDX k;
+ OBJECT_IDX i1, i2;
+ OBJECT_IDX e1, e2;
bool done, item;
/* Repeat until done */
while (!done)
{
- int get_item_label = 0;
+ COMMAND_CODE get_item_label = 0;
/* Show choices */
int ni = 0;
/* Extract "query" setting */
ver = isupper(which);
- which = tolower(which);
+ which = (char)tolower(which);
/* Convert letter to inventory index */
if (!command_wrk)
* mode & 0x02 -- Marked items only
* mode & 0x04 -- Stop after first
*/
-int scan_floor(int *items, int y, int x, int mode)
+ITEM_NUMBER scan_floor(OBJECT_IDX *items, POSITION y, POSITION x, BIT_FLAGS mode)
{
- int this_o_idx, next_o_idx;
+ OBJECT_IDX this_o_idx, next_o_idx;
- int num = 0;
+ ITEM_NUMBER num = 0;
/* Sanity */
if (!in_bounds(y, x)) return 0;
* @param y 走査するフロアのY座標
* @param x 走査するフロアのX座標
* @param min_width 表示の長さ
- * @return 選択したアイテムのID
+ * @return 選択したアイテムの添え字
* @details
*/
-int show_floor(int target_item, int y, int x, int *min_width)
+COMMAND_CODE show_floor(int target_item, POSITION y, POSITION x, TERM_LEN *min_width)
{
- int i, j, k, l;
+ COMMAND_CODE i, m;
+ int j, k, l;
int col, len;
object_type *o_ptr;
char o_name[MAX_NLEN];
-
char tmp_val[80];
- int out_index[23];
- byte out_color[23];
+ COMMAND_CODE out_index[23];
+ TERM_COLOR out_color[23];
char out_desc[23][MAX_NLEN];
- int target_item_label = 0;
+ COMMAND_CODE target_item_label = 0;
- int floor_list[23], floor_num;
- int wid, hgt;
+ OBJECT_IDX floor_list[23];
+ ITEM_NUMBER floor_num;
+ TERM_LEN wid, hgt;
char floor_label[52 + 1];
bool dont_need_to_show_weights = TRUE;
for (j = 0; j < k; j++)
{
/* Get the index */
- i = floor_list[out_index[j]];
+ m = floor_list[out_index[j]];
/* Get the item */
- o_ptr = &o_list[i];
+ o_ptr = &o_list[m];
/* Clear the line */
prt("", j + 1, col ? col - 2 : col);
if (j == (target_item-1))
{
strcpy(tmp_val, _("》", "> "));
- target_item_label = i;
+ target_item_label = m;
}
else strcpy(tmp_val, " ");
}
* @param mode オプションフラグ
* @return プレイヤーによりアイテムが選択されたならTRUEを返す。/
*/
-bool get_item_floor(int *cp, cptr pmt, cptr str, int mode)
+bool get_item_floor(COMMAND_CODE *cp, cptr pmt, cptr str, BIT_FLAGS mode)
{
char n1 = ' ', n2 = ' ', which = ' ';
- int j, k, i1, i2, e1, e2;
+ int j;
+ COMMAND_CODE i1, i2;
+ COMMAND_CODE e1, e2;
+ COMMAND_CODE k;
bool done, item;
char tmp_val[160];
char out_val[160];
- int floor_num, floor_list[23], floor_top = 0;
- int min_width = 0;
+ ITEM_NUMBER floor_num;
+ OBJECT_IDX floor_list[23];
+ int floor_top = 0;
+ TERM_LEN min_width = 0;
extern bool select_the_force;
/* Repeat until done */
while (!done)
{
- int get_item_label = 0;
+ COMMAND_CODE get_item_label = 0;
/* Show choices */
int ni = 0;
case '+':
{
int i;
- IDX o_idx;
+ OBJECT_IDX o_idx;
cave_type *c_ptr = &cave[p_ptr->y][p_ptr->x];
if (command_wrk != (USE_FLOOR)) break;
/* Extract "query" setting */
ver = isupper(which);
- which = tolower(which);
+ which = (char)tolower(which);
/* Convert letter to inventory index */
if (command_wrk == (USE_INVEN))
*/
static bool py_pickup_floor_aux(void)
{
- s16b this_o_idx;
+ OBJECT_IDX this_o_idx;
cptr q, s;
- int item;
+ OBJECT_IDX item;
/* Restrict the choices */
item_tester_hook = inven_carry_okay;
*/
void py_pickup_floor(bool pickup)
{
- s16b this_o_idx, next_o_idx = 0;
+ OBJECT_IDX this_o_idx, next_o_idx = 0;
char o_name[MAX_NLEN];
object_type *o_ptr;
- int floor_num = 0, floor_o_idx = 0;
+ int floor_num = 0;
+ OBJECT_IDX floor_o_idx = 0;
int can_pickup = 0;
/* Pick up gold */
if (o_ptr->tval == TV_GOLD)
{
- /* Message */
#ifdef JP
msg_format(" $%ld の価値がある%sを見つけた。",
(long)o_ptr->pval, o_name);
/* Describe the object */
object_desc(o_name, o_ptr, 0);
- /* Message */
msg_format(_("%sがある。", "You see %s."), o_name);
}
/* Multiple objects */
else
{
- /* Message */
msg_format(_("%d 個のアイテムの山がある。", "You see a pile of %d items."), floor_num);
}
/* Describe the object */
object_desc(o_name, o_ptr, 0);
- /* Message */
msg_format(_("ザックには%sを入れる隙間がない。", "You have no room for %s."), o_name);
}
/* Multiple objects */
else
{
- /* Message */
msg_print(_("ザックには床にあるどのアイテムも入らない。", "You have no room for any of the objects on the floor."));
}