From 56ae7e32ecb8ac689b1e29a6069012c3fc10ff21 Mon Sep 17 00:00:00 2001 From: mogami Date: Wed, 5 Nov 2003 10:15:45 +0000 Subject: [PATCH] =?utf8?q?object=5Fdesc()=E3=81=AE=E3=82=B3=E3=83=BC?= =?utf8?q?=E3=83=89=E3=82=92=E6=9B=B8=E3=81=8D=E7=9B=B4=E3=81=97=E3=80=82u?= =?utf8?q?32b=20mode=E3=81=A7=E3=83=93=E3=83=83=E3=83=88=E3=83=95=E3=83=A9?= =?utf8?q?=E3=82=B0=20OD=5F*=20=E3=82=92=E4=B8=8E=E3=81=88=E3=81=A6?= =?utf8?q?=E5=91=BC=E3=81=B3=E5=87=BA=E3=81=99=E3=82=88=E3=81=86=E3=81=AB?= =?utf8?q?=E3=81=97=E3=81=9F=E3=80=82=E4=BB=A5=E4=B8=8B=E3=81=AE=E5=A4=89?= =?utf8?q?=E6=9B=B4=E3=82=92=E5=90=AB=E3=82=80=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit (1)アイテムの外見(flavor)の表示位置変更。殺戮の結婚指輪 とか。 (2)上の変更に対応して自動拾い機能とエディタはflavorを無視する。 つまり、「^殺戮の指輪」でちゃんとマッチする。 (3)個数接頭辞と複数形を許可する引数 pref の代りに2つのフラグ OD_NO_PLURALと OD_OMIT_PREFIXのに分けたので、 "One of your potion of ... was stolen!"等の英文メッセージが 正しく複数形で"One of your potions of ... was stolen!"と表示できるようになった。 --- src/autopick.c | 20 +-- src/bldg.c | 26 +-- src/cave.c | 2 +- src/cmd1.c | 8 +- src/cmd2.c | 6 +- src/cmd3.c | 22 +-- src/cmd4.c | 11 +- src/cmd6.c | 4 +- src/defines.h | 15 +- src/dungeon.c | 26 +-- src/externs.h | 3 +- src/files.c | 12 +- src/flavor.c | 535 +++++++++++++++++++++++++++------------------------------ src/melee1.c | 4 +- src/melee2.c | 2 +- src/monster2.c | 2 +- src/mspells1.c | 2 +- src/object1.c | 58 ++----- src/object2.c | 34 ++-- src/racial.c | 8 +- src/spells1.c | 2 +- src/spells2.c | 2 +- src/spells3.c | 42 ++--- src/store.c | 34 ++-- src/wizard1.c | 4 +- src/wizard2.c | 2 +- src/xtra2.c | 14 +- 27 files changed, 422 insertions(+), 478 deletions(-) diff --git a/src/autopick.c b/src/autopick.c index 34ead4df2..5dd8858e3 100644 --- a/src/autopick.c +++ b/src/autopick.c @@ -791,7 +791,7 @@ static void autopick_entry_from_object(autopick_type *entry, object_type *o_ptr) { char o_name[MAX_NLEN]; - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_NO_FLAVOR | OD_OMIT_PREFIX | OD_NO_PLURAL | OD_NAME_ONLY)); /* * If necessary, add a '^' which indicates the @@ -1497,7 +1497,7 @@ int is_autopick(object_type *o_ptr) if (o_ptr->tval == TV_GOLD) return -1; /* Prepare object name string first */ - object_desc(o_name, o_ptr, FALSE, 3); + object_desc(o_name, o_ptr, (OD_NO_FLAVOR | OD_OMIT_PREFIX | OD_NO_PLURAL)); /* Convert the string to lower case */ str_tolower(o_name); @@ -1642,7 +1642,7 @@ static void auto_destroy_item(object_type *o_ptr, int autopick_idx) char o_name[MAX_NLEN]; /* Describe the object (with {terrible/special}) */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Message */ #ifdef JP @@ -1684,7 +1684,7 @@ static void autopick_delayed_alter_aux(int item) char o_name[MAX_NLEN]; /* Describe the object (with {terrible/special}) */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Eliminate the item (from the pack) */ if (item >= 0) @@ -1796,7 +1796,7 @@ void autopick_pickup_items(cave_type *c_ptr) char o_name[MAX_NLEN]; /* Describe the object */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Message */ #ifdef JP @@ -1821,7 +1821,7 @@ void autopick_pickup_items(cave_type *c_ptr) } /* Describe the object */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); #ifdef JP sprintf(out_val, "%s¤ò½¦¤¤¤Þ¤¹¤«? ", o_name); @@ -2030,7 +2030,7 @@ bool autopick_autoregister(object_type *o_ptr) char o_name[MAX_NLEN]; /* Describe the object (with {terrible/special}) */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Message */ #ifdef JP @@ -3366,7 +3366,7 @@ static byte get_object_for_search(object_type **o_handle, cptr *search_strp) *o_handle = o_ptr; string_free(*search_strp); - object_desc(buf, *o_handle, FALSE, 3); + object_desc(buf, *o_handle, (OD_NO_FLAVOR | OD_OMIT_PREFIX | OD_NO_PLURAL)); *search_strp = string_make(format("<%s>", buf)); return 1; } @@ -3384,7 +3384,7 @@ static byte get_destroyed_object_for_search(object_type **o_handle, cptr *search *o_handle = &autopick_last_destroyed_object; string_free(*search_strp); - object_desc(buf, *o_handle, FALSE, 3); + object_desc(buf, *o_handle, (OD_NO_FLAVOR | OD_OMIT_PREFIX | OD_NO_PLURAL)); *search_strp = string_make(format("<%s>", buf)); return 1; } @@ -3698,7 +3698,7 @@ static void search_for_object(text_body_type *tb, object_type *o_ptr, bool forwa int i = tb->cy; /* Prepare object name string first */ - object_desc(o_name, o_ptr, FALSE, 3); + object_desc(o_name, o_ptr, (OD_NO_FLAVOR | OD_OMIT_PREFIX | OD_NO_PLURAL)); /* Convert the string to lower case */ str_tolower(o_name); diff --git a/src/bldg.c b/src/bldg.c index 74af464e7..db8870698 100644 --- a/src/bldg.c +++ b/src/bldg.c @@ -2229,7 +2229,7 @@ static bool kankin(void) if ((o_ptr->tval == TV_CAPTURE) && (o_ptr->pval == MON_TSUCHINOKO)) { char buf[MAX_NLEN+20]; - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); #ifdef JP sprintf(buf, "%s ¤ò´¹¶â¤·¤Þ¤¹¤«¡©",o_name); #else @@ -2260,7 +2260,7 @@ static bool kankin(void) if ((o_ptr->tval == TV_CORPSE) && (o_ptr->sval == SV_CORPSE) && (o_ptr->pval == MON_TSUCHINOKO)) { char buf[MAX_NLEN+20]; - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); #ifdef JP sprintf(buf, "%s ¤ò´¹¶â¤·¤Þ¤¹¤«¡©",o_name); #else @@ -2291,7 +2291,7 @@ static bool kankin(void) if ((o_ptr->tval == TV_CORPSE) && (o_ptr->sval == SV_SKELETON) && (o_ptr->pval == MON_TSUCHINOKO)) { char buf[MAX_NLEN+20]; - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); #ifdef JP sprintf(buf, "%s ¤ò´¹¶â¤·¤Þ¤¹¤«¡©",o_name); #else @@ -2320,7 +2320,7 @@ static bool kankin(void) if ((o_ptr->tval == TV_CORPSE) && (o_ptr->sval == SV_CORPSE) && (streq(r_name + r_info[o_ptr->pval].name, r_name + r_info[today_mon].name))) { char buf[MAX_NLEN+20]; - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); #ifdef JP sprintf(buf, "%s ¤ò´¹¶â¤·¤Þ¤¹¤«¡©",o_name); #else @@ -2350,7 +2350,7 @@ static bool kankin(void) if ((o_ptr->tval == TV_CORPSE) && (o_ptr->sval == SV_SKELETON) && (streq(r_name + r_info[o_ptr->pval].name, r_name + r_info[today_mon].name))) { char buf[MAX_NLEN+20]; - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); #ifdef JP sprintf(buf, "%s ¤ò´¹¶â¤·¤Þ¤¹¤«¡©",o_name); #else @@ -2385,7 +2385,7 @@ static bool kankin(void) int num, k; object_type forge; - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); #ifdef JP sprintf(buf, "%s¤òÅϤ·¤Þ¤¹¤«¡©",o_name); #else @@ -2446,7 +2446,7 @@ static bool kankin(void) (void)inven_carry(&forge); /* Describe the object */ - object_desc(o_name, &forge, TRUE, 3); + object_desc(o_name, &forge, 0); #ifdef JP msg_format("%s ¤òÌã¤Ã¤¿¡£",o_name); #else @@ -3258,7 +3258,7 @@ static void list_weapon(object_type *o_ptr, int row, int col) int eff_ds = o_ptr->ds + p_ptr->to_ds[0]; /* Print the weapon name */ - object_desc(o_name, o_ptr, TRUE, 0); + object_desc(o_name, o_ptr, OD_NAME_ONLY); c_put_str(TERM_YELLOW, o_name, row, col); /* Print the player's number of blows */ @@ -3641,7 +3641,7 @@ s = " /* Check if the player has enough money */ if (p_ptr->au < (cost * o_ptr->number)) { - object_desc(tmp_str, o_ptr, TRUE, 0); + object_desc(tmp_str, o_ptr, OD_NAME_ONLY); #ifdef JP msg_format("%s¤ò²þÎɤ¹¤ë¤À¤±¤Î¥´¡¼¥ë¥É¤¬¤¢¤ê¤Þ¤»¤ó¡ª", tmp_str); #else @@ -3708,7 +3708,7 @@ msg_print(" } else { - object_desc(tmp_str, o_ptr, TRUE, 1); + object_desc(tmp_str, o_ptr, OD_NAME_AND_ENCHANT); #ifdef JP msg_format("¡ð%d ¤Ç%s¤ò²þÎɤ·¤Þ¤·¤¿¡£", cost * o_ptr->number, tmp_str ); #else @@ -3816,7 +3816,7 @@ get_check(" identify_item(o_ptr); /* Description */ - object_desc(tmp_str, o_ptr, TRUE, 3); + object_desc(tmp_str, o_ptr, 0); #ifdef JP msg_format("%s ¤Ç¤¹¡£", tmp_str); @@ -3923,7 +3923,7 @@ msg_print(" /* Check if the player has enough money */ if (p_ptr->au < price) { - object_desc(tmp_str, o_ptr, TRUE, 0); + object_desc(tmp_str, o_ptr, OD_NAME_ONLY); #ifdef JP msg_format("%s¤òºÆ½¼Å¶¤¹¤ë¤Ë¤Ï¡ð%d ɬÍפǤ¹¡ª", tmp_str,price ); #else @@ -3982,7 +3982,7 @@ charges = get_quantity(format(" } /* Give feedback */ - object_desc(tmp_str, o_ptr, TRUE, 3); + object_desc(tmp_str, o_ptr, 0); #ifdef JP msg_format("%s¤ò¡ð%d ¤ÇºÆ½¼Å¶¤·¤Þ¤·¤¿¡£", tmp_str, price); #else diff --git a/src/cave.c b/src/cave.c index f4c90135d..5383df473 100644 --- a/src/cave.c +++ b/src/cave.c @@ -2074,7 +2074,7 @@ static void display_shortened_item_name(object_type *o_ptr, int y) int len = 0; byte attr; - object_desc(buf, o_ptr, FALSE, 0); + object_desc(buf, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); attr = tval_to_attr[o_ptr->tval % 128]; if (p_ptr->image) diff --git a/src/cmd1.c b/src/cmd1.c index c7f2eef36..dd1bd1dca 100644 --- a/src/cmd1.c +++ b/src/cmd1.c @@ -791,7 +791,7 @@ void py_pickup_aux(int o_idx) #ifdef JP /* Describe the object */ - object_desc(old_name, o_ptr, TRUE, 0); + object_desc(old_name, o_ptr, OD_NAME_ONLY); object_desc_kosuu(kazu_str, o_ptr); hirottakazu = o_ptr->number; #endif @@ -816,7 +816,7 @@ void py_pickup_aux(int o_idx) } /* Describe the object */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Message */ #ifdef JP @@ -934,7 +934,7 @@ void carry(int pickup) #endif /* ALLOW_EASY_SENSE -- TNB */ /* Describe the object */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Acquire next object */ next_o_idx = o_ptr->next_o_idx; @@ -2886,7 +2886,7 @@ static void py_attack_aux(int y, int x, bool *fear, bool *mdeath, s16b hand, int object_type *q_ptr = &o_list[m_ptr->hold_o_idx]; char o_name[MAX_NLEN]; - object_desc(o_name, q_ptr, TRUE, 0); + object_desc(o_name, q_ptr, OD_NAME_ONLY); q_ptr->held_m_idx = 0; q_ptr->marked = 0; m_ptr->hold_o_idx = q_ptr->next_o_idx; diff --git a/src/cmd2.c b/src/cmd2.c index b8ba98787..1181dc075 100644 --- a/src/cmd2.c +++ b/src/cmd2.c @@ -3666,7 +3666,7 @@ void do_cmd_fire_aux(int item, object_type *j_ptr) } /* Describe the object */ - object_desc(o_name, o_ptr, FALSE, 3); + object_desc(o_name, o_ptr, OD_OMIT_PREFIX); /* Use the proper number of shots */ @@ -4247,7 +4247,7 @@ bool do_cmd_throw_aux(int mult, bool boomerang, int shuriken) q_ptr->number = 1; /* Description */ - object_desc(o_name, q_ptr, FALSE, 3); + object_desc(o_name, q_ptr, OD_OMIT_PREFIX); if (p_ptr->mighty_throw) mult += 3; @@ -4610,7 +4610,7 @@ msg_print(" j = -1; if (boomerang) back_chance += 4+randint1(5); if (super_boomerang) back_chance += 100; - object_desc(o2_name, q_ptr, FALSE, 0); + object_desc(o2_name, q_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); if((back_chance > 30) && (!one_in_(100) || super_boomerang)) { diff --git a/src/cmd3.c b/src/cmd3.c index 1a981566d..82d050c44 100644 --- a/src/cmd3.c +++ b/src/cmd3.c @@ -284,7 +284,7 @@ void do_cmd_wield(void) object_type *otmp_ptr = &object_tmp; char ol_name[MAX_NLEN]; - object_desc(ol_name, ol_ptr, FALSE, 0); + object_desc(ol_name, ol_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); object_copy(otmp_ptr, ol_ptr); object_copy(ol_ptr, or_ptr); @@ -360,7 +360,7 @@ void do_cmd_wield(void) if (cursed_p(&inventory[slot])) { /* Describe it */ - object_desc(o_name, &inventory[slot], FALSE, 0); + object_desc(o_name, &inventory[slot], (OD_OMIT_PREFIX | OD_NAME_ONLY)); /* Message */ #ifdef JP @@ -381,7 +381,7 @@ void do_cmd_wield(void) char dummy[MAX_NLEN+80]; /* Describe it */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP sprintf(dummy, "ËÜÅö¤Ë%s{¼ö¤ï¤ì¤Æ¤¤¤ë}¤ò»È¤¤¤Þ¤¹¤«¡©", o_name); @@ -397,7 +397,7 @@ sprintf(dummy, " char dummy[MAX_NLEN+80]; /* Describe it */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP sprintf(dummy, "%s¤òÁõÈ÷¤¹¤ë¤ÈµÛ·ìµ´¤Ë¤Ê¤ê¤Þ¤¹¡£¤è¤í¤·¤¤¤Ç¤¹¤«¡©", o_name); @@ -534,7 +534,7 @@ msg_print(" } /* Describe the result */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Message */ msg_format(act, o_name, index_to_label(slot)); @@ -595,7 +595,7 @@ void kamaenaoshi(int item) p_ptr->total_weight += o2_ptr->weight; inven_item_increase(INVEN_LARM,-1); inven_item_optimize(INVEN_LARM); - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); if (((o_ptr->weight > 99) || (o_ptr->tval == TV_POLEARM)) && (!p_ptr->riding || (p_ptr->pet_extra_flags & PF_RYOUTE))) #ifdef JP msg_format("%s¤òξ¼ê¤Ç¹½¤¨¤¿¡£", o_name ); @@ -614,7 +614,7 @@ void kamaenaoshi(int item) if (buki_motteruka(INVEN_RARM)) { o_ptr = &inventory[INVEN_RARM]; - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); if (((o_ptr->weight > 99) || (o_ptr->tval == TV_POLEARM)) && (!p_ptr->riding || (p_ptr->pet_extra_flags & PF_RYOUTE))) #ifdef JP msg_format("%s¤òξ¼ê¤Ç¹½¤¨¤¿¡£", o_name ); @@ -630,7 +630,7 @@ void kamaenaoshi(int item) p_ptr->total_weight += o2_ptr->weight; inven_item_increase(INVEN_RARM,-1); inven_item_optimize(INVEN_RARM); - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); #ifdef JP msg_format("%s¤ò»ý¤ÁÂؤ¨¤¿¡£", o_name); #else @@ -924,7 +924,7 @@ void do_cmd_destroy(void) /* Describe the object */ old_number = o_ptr->number; o_ptr->number = amt; - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); o_ptr->number = old_number; /* Verify unless quantity given */ @@ -1151,7 +1151,7 @@ void do_cmd_observe(void) /* Description */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Describe */ #ifdef JP @@ -1282,7 +1282,7 @@ void do_cmd_inscribe(void) } /* Describe the activity */ - object_desc(o_name, o_ptr, TRUE, 2); + object_desc(o_name, o_ptr, OD_OMIT_INSCRIPTION); /* Message */ #ifdef JP diff --git a/src/cmd4.c b/src/cmd4.c index 035099be8..c9885a05a 100644 --- a/src/cmd4.c +++ b/src/cmd4.c @@ -5599,7 +5599,7 @@ static void do_cmd_knowledge_inven_aux(FILE *fff, object_type *o_ptr, int *j, by || o_ptr->art_name || o_ptr->name1) { int i = 0; - object_desc(o_name, o_ptr, TRUE, 0); + object_desc(o_name, o_ptr, OD_NAME_ONLY); while (o_name[i] && (i < 26)) { @@ -6355,8 +6355,11 @@ static void do_cmd_knowledge_artifacts(void) /* Make it an artifact */ q_ptr->name1 = (byte)who[k]; + /* Display as if known */ + q_ptr->ident |= IDENT_STORE; + /* Describe the artifact */ - object_desc_store(base_name, q_ptr, FALSE, 0); + object_desc(base_name, q_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); } /* Hack -- Build the artifact name */ @@ -9016,7 +9019,7 @@ static void do_cmd_knowledge_home(void) { #ifdef JP if ((i % 12) == 0) fprintf(fff, "\n ( %d ¥Ú¡¼¥¸ )\n", x++); - object_desc(o_name, &st_ptr->stock[i], TRUE, 3); + object_desc(o_name, &st_ptr->stock[i], 0); if (strlen(o_name) <= 80-3) { fprintf(fff, "%c%s %s\n", I2A(i%12), paren, o_name); @@ -9033,7 +9036,7 @@ static void do_cmd_knowledge_home(void) fprintf(fff, " %.77s\n", o_name+n); } #else - object_desc(o_name, &st_ptr->stock[i], TRUE, 3); + object_desc(o_name, &st_ptr->stock[i], 0); fprintf(fff, "%c%s %s\n", I2A(i%12), paren, o_name); #endif diff --git a/src/cmd6.c b/src/cmd6.c index 42a595a0d..08c98d685 100644 --- a/src/cmd6.c +++ b/src/cmd6.c @@ -528,7 +528,7 @@ msg_print(" /* Drain vitality of humanoids */ char o_name[MAX_NLEN]; - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP msg_format("%s¤Ïdz¤¨¾å¤ê³¥¤Ë¤Ê¤Ã¤¿¡£ÀºÎϤòµÛ¼ý¤·¤¿µ¤¤¬¤¹¤ë¡£", o_name); @@ -2174,7 +2174,7 @@ msg_print(" q=format("book-%d_jp.txt",o_ptr->sval); /* Display object description */ - object_desc(o_name, o_ptr, TRUE, 0); + object_desc(o_name, o_ptr, OD_NAME_ONLY); /* Build the filename */ path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, q); diff --git a/src/defines.h b/src/defines.h index 94a46432f..e7c1b0580 100644 --- a/src/defines.h +++ b/src/defines.h @@ -2678,6 +2678,19 @@ #define MD_TRUE_NAME 0x00000100 /* Chameleon's true name */ #define MD_IGNORE_HALLU 0x00000200 /* Ignore hallucination, and penetrate shape change */ + +/* + * Bit flags for object_desc() + */ +#define OD_NAME_ONLY 0x00000001 /* Omit values, pval, inscription */ +#define OD_NAME_AND_ENCHANT 0x00000002 /* Omit pval, inscription */ +#define OD_OMIT_INSCRIPTION 0x00000004 /* Omit inscription */ +#define OD_OMIT_PREFIX 0x00000008 /* Omit numeric prefix */ +#define OD_NO_PLURAL 0x00000010 /* Don't use plural */ +#define OD_STORE 0x00000020 /* Assume to be aware and known */ +#define OD_NO_FLAVOR 0x00000040 /* Allow to hidden flavor */ + + /* * Bit flags for the "p_ptr->special_attack" variable. -LM- * @@ -2991,7 +3004,7 @@ #define IDENT_FIXED 0x02 /* Item has been "haggled" */ #define IDENT_EMPTY 0x04 /* Item charges are known */ #define IDENT_KNOWN 0x08 /* Item abilities are known */ -#define IDENT_STOREB 0x10 /* Item is storebought !!!! */ +#define IDENT_STORE 0x10 /* Item is storebought !!!! */ #define IDENT_MENTAL 0x20 /* Item information is known */ #if 0 #define IDENT_CURSED 0x40 /* Item is temporarily cursed */ diff --git a/src/dungeon.c b/src/dungeon.c index d0f9cfe39..ed34a2d7e 100644 --- a/src/dungeon.c +++ b/src/dungeon.c @@ -162,7 +162,7 @@ static void sense_inventory_aux(int slot, bool heavy) if (disturb_minor) disturb(0, 0); /* Get an object description */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /* Message (equipment) */ if (slot >= INVEN_RARM) @@ -1561,7 +1561,7 @@ msg_print(" feel = value_check_aux1(o_ptr); /* Get an object description */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /* Skip non-feelings */ if (!feel) @@ -1753,7 +1753,7 @@ static void recharged_notice(object_type *o_ptr) if (s[1] == '!') { /* Describe (briefly) */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /* Notify the player */ #ifdef JP @@ -2258,7 +2258,7 @@ take_hit(DAMAGE_NOESCAPE, 1, " char ouch [MAX_NLEN+40]; /* Get an object description */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP msg_format("%s¤¬¤¢¤Ê¤¿¤Î¥¢¥ó¥Ç¥Ã¥É¤ÎÆùÂΤò¾Æ¤­¾Ç¤¬¤·¤¿¡ª", o_name); @@ -2270,7 +2270,7 @@ msg_format("%s cave_no_regen = TRUE; /* Get an object description */ - object_desc(o_name, o_ptr, TRUE, 0); + object_desc(o_name, o_ptr, OD_NAME_ONLY); #ifdef JP sprintf(ouch, "%s¤òÁõÈ÷¤·¤¿¥À¥á¡¼¥¸", o_name); @@ -3818,7 +3818,7 @@ if (!get_rnd_line("chainswd_j.txt", 0, noise)) { char o_name[MAX_NLEN]; - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); o_ptr->curse_flags |= new_curse; #ifdef JP @@ -3845,7 +3845,7 @@ msg_format(" { char o_name[MAX_NLEN]; - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); o_ptr->curse_flags |= new_curse; #ifdef JP @@ -3867,7 +3867,7 @@ msg_format(" { char o_name[MAX_NLEN]; - object_desc(o_name, choose_cursed_obj_name(TRC_CALL_ANIMAL), FALSE, 0); + object_desc(o_name, choose_cursed_obj_name(TRC_CALL_ANIMAL), (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP msg_format("%s¤¬Æ°Êª¤ò°ú¤­´ó¤»¤¿¡ª", o_name); #else @@ -3884,7 +3884,7 @@ msg_format("%s { char o_name[MAX_NLEN]; - object_desc(o_name, choose_cursed_obj_name(TRC_CALL_DEMON), FALSE, 0); + object_desc(o_name, choose_cursed_obj_name(TRC_CALL_DEMON), (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP msg_format("%s¤¬°­Ëâ¤ò°ú¤­´ó¤»¤¿¡ª", o_name); #else @@ -3902,7 +3902,7 @@ msg_format("%s { char o_name[MAX_NLEN]; - object_desc(o_name, choose_cursed_obj_name(TRC_CALL_DRAGON), FALSE, 0); + object_desc(o_name, choose_cursed_obj_name(TRC_CALL_DRAGON), (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP msg_format("%s¤¬¥É¥é¥´¥ó¤ò°ú¤­´ó¤»¤¿¡ª", o_name); #else @@ -3939,7 +3939,7 @@ msg_print(" { char o_name[MAX_NLEN]; - object_desc(o_name, choose_cursed_obj_name(TRC_DRAIN_HP), FALSE, 0); + object_desc(o_name, choose_cursed_obj_name(TRC_DRAIN_HP), (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP msg_format("%s¤Ï¤¢¤Ê¤¿¤ÎÂÎÎϤòµÛ¼ý¤·¤¿¡ª", o_name); #else @@ -3952,7 +3952,7 @@ msg_format("%s { char o_name[MAX_NLEN]; - object_desc(o_name, choose_cursed_obj_name(TRC_DRAIN_MANA), FALSE, 0); + object_desc(o_name, choose_cursed_obj_name(TRC_DRAIN_MANA), (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP msg_format("%s¤Ï¤¢¤Ê¤¿¤ÎËâÎϤòµÛ¼ý¤·¤¿¡ª", o_name); #else @@ -5835,7 +5835,7 @@ msg_print(" /* Describe */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Message */ #ifdef JP diff --git a/src/externs.h b/src/externs.h index ad2d4ddcd..684b55ec5 100644 --- a/src/externs.h +++ b/src/externs.h @@ -818,7 +818,7 @@ extern u32b counts_read(int where); 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); +extern void object_desc(char *buf, object_type *o_ptr, u32b mode); /* floors.c */ extern void init_saved_floors(bool force); @@ -926,7 +926,6 @@ extern s16b m_bonus(int max, int level); extern void reset_visuals(void); 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 screen_object(object_type *o_ptr, bool real); extern char index_to_label(int i); diff --git a/src/files.c b/src/files.c index 141d8c714..b0654179d 100644 --- a/src/files.c +++ b/src/files.c @@ -4812,7 +4812,7 @@ static void dump_aux_equipment_inventory(FILE *fff) for (i = INVEN_RARM; i < INVEN_TOTAL; i++) { - object_desc(o_name, &inventory[i], TRUE, 3); + object_desc(o_name, &inventory[i], 0); if ((i == INVEN_LARM) && p_ptr->ryoute) #ifdef JP strcpy(o_name, "(Éð´ï¤òξ¼ê»ý¤Á)"); @@ -4839,7 +4839,7 @@ static void dump_aux_equipment_inventory(FILE *fff) if (!inventory[i].k_idx) break; /* Dump the inventory slots */ - object_desc(o_name, &inventory[i], TRUE, 3); + object_desc(o_name, &inventory[i], 0); fprintf(fff, "%c) %s\n", index_to_label(i), o_name); } @@ -4883,7 +4883,7 @@ static void dump_aux_home_museum(FILE *fff) #else fprintf(fff, "\n ( page %d )\n", x++); #endif - object_desc(o_name, &st_ptr->stock[i], TRUE, 3); + object_desc(o_name, &st_ptr->stock[i], 0); fprintf(fff, "%c) %s\n", I2A(i%12), o_name); } @@ -4912,11 +4912,11 @@ static void dump_aux_home_museum(FILE *fff) { #ifdef JP if ((i % 12) == 0) fprintf(fff, "\n ( %d ¥Ú¡¼¥¸ )\n", x++); - object_desc(o_name, &st_ptr->stock[i], TRUE, 3); + object_desc(o_name, &st_ptr->stock[i], 0); fprintf(fff, "%c) %s\n", I2A(i%12), o_name); #else if ((i % 12) == 0) fprintf(fff, "\n ( page %d )\n", x++); - object_desc(o_name, &st_ptr->stock[i], TRUE, 3); + object_desc(o_name, &st_ptr->stock[i], 0); fprintf(fff, "%c) %s\n", I2A(i%12), o_name); #endif @@ -6785,7 +6785,7 @@ prt(" prt(tmp_val, j+2, 4); /* Display object description */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); c_put_str(tval_to_attr[o_ptr->tval], o_name, j+2, 7); } diff --git a/src/flavor.c b/src/flavor.c index ad4c1f551..e1c26f060 100644 --- a/src/flavor.c +++ b/src/flavor.c @@ -1648,18 +1648,24 @@ static void get_inscription(char *buff, object_type *o_ptr) * * Hack -- Display "The One Ring" as "a Plain Gold Ring" until aware. * - * If "pref" then a "numeric" prefix will be pre-pended. - * * Mode: - * 0 -- The Cloak of Death - * 1 -- The Cloak of Death [1,+3] - * 2 -- The Cloak of Death [1,+3] (+2 to Stealth) - * 3 -- The Cloak of Death [1,+3] (+2 to Stealth) {nifty} + * OD_NAME_ONLY : The Cloak of Death + * OD_NAME_AND_ENCHANT : The Cloak of Death [1,+3] + * OD_OMIT_INSCRIPTION : The Cloak of Death [1,+3] (+2 to Stealth) + * 0 : The Cloak of Death [1,+3] (+2 to Stealth) {nifty} + * + * OD_OMIT_PREFIX : Forbidden numeric prefix + * OD_NO_PLURAL : Forbidden use of plural + * OD_STORE : Assume to be aware and known + * OD_NO_FLAVOR : Allow to hidden flavor */ -void object_desc(char *buf, object_type *o_ptr, int pref, int mode) +void object_desc(char *buf, object_type *o_ptr, u32b mode) { + /* Extract object kind name */ + cptr kindname = get_object_name(o_ptr); + /* Extract default "base" string */ - cptr basenm = get_object_name(o_ptr); + cptr basenm = kindname; /* Assume no "modifier" string */ cptr modstr = ""; @@ -1667,19 +1673,16 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* Hack -- Extract the sub-type "indexx" */ int indexx = o_ptr->sval; - int power, i; + int power; bool aware = FALSE; bool known = FALSE; - -#ifndef JP - bool append_name = FALSE; -#endif + bool flavor = TRUE; bool show_weapon = FALSE; bool show_armour = FALSE; - cptr s, u; + cptr s; char *t; char p1 = '(', p2 = ')'; @@ -1688,7 +1691,7 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) char tmp_val[MAX_NLEN+160]; char tmp_val2[MAX_NLEN+10]; - char insc_buf[1024]; + char fake_insc_buf[30]; u32b flgs[TR_FLAG_SIZE]; @@ -1700,11 +1703,24 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) object_flags(o_ptr, flgs); /* See if the object is "aware" */ - if (object_aware_p(o_ptr) || (o_ptr->ident & IDENT_MENTAL)) aware = TRUE; + if (object_aware_p(o_ptr)) aware = TRUE; /* See if the object is "known" */ if (object_known_p(o_ptr)) known = TRUE; + /* Allow flavors to be hidden when aware */ + if (aware && ((mode & OD_NO_FLAVOR) || plain_descriptions)) flavor = FALSE; + + /* Object is in the inventory of a store or spoiler */ + if ((mode & OD_STORE) || (o_ptr->ident & IDENT_STORE)) + { + /* Don't show flavors */ + flavor = FALSE; + + /* Pretend known and aware */ + aware = TRUE; + known = TRUE; + } /* Analyze the object */ switch (o_ptr->tval) @@ -1795,22 +1811,15 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) modstr = r_name + r_ptr->name; - #ifdef JP - sprintf(tmp_val2, "#%s", basenm); + basenm = "#%"; #else if (r_ptr->flags1 & RF1_UNIQUE) - { - sprintf(tmp_val2, "& %s %s", basenm, "of #"); - } + basenm = "& % of #"; else - { - sprintf(tmp_val2, "& # %s", basenm); - } + basenm = "& # %"; #endif - - basenm = tmp_val2; break; } @@ -1864,17 +1873,14 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* Color the object */ modstr = amulet_adj[indexx]; - if ((plain_descriptions && aware) || (o_ptr->ident & IDENT_STOREB)) #ifdef JP - basenm = aware ? "%¤Î¥¢¥ß¥å¥ì¥Ã¥È" : "¥¢¥ß¥å¥ì¥Ã¥È"; - else - basenm = aware ? "#%¤Î¥¢¥ß¥å¥ì¥Ã¥È" : "#¥¢¥ß¥å¥ì¥Ã¥È"; + if (!flavor) basenm = "%¤Î¥¢¥ß¥å¥ì¥Ã¥È"; + else if (aware) basenm = "%¤Î#¥¢¥ß¥å¥ì¥Ã¥È"; + else basenm = "#¥¢¥ß¥å¥ì¥Ã¥È"; #else - basenm = "& Amulet~"; - else - basenm = aware ? "& # Amulet~" : "& # Amulet~"; - - if (aware) append_name = TRUE; + if (!flavor) basenm = "& Amulet~ of %"; + else if (aware) basenm = "& # Amulet~ of %"; + else basenm = "& # Amulet~"; #endif break; @@ -1893,17 +1899,14 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* Color the object */ modstr = ring_adj[indexx]; - if ((plain_descriptions && aware) || (o_ptr->ident & IDENT_STOREB)) #ifdef JP - basenm = aware ? "%¤Î»ØÎØ" : "»ØÎØ"; - else - basenm = aware ? "#%¤Î»ØÎØ" : "#»ØÎØ"; + if (!flavor) basenm = "%¤Î»ØÎØ"; + else if (aware) basenm = "%¤Î#»ØÎØ"; + else basenm = "#»ØÎØ"; #else - basenm = "& Ring~"; - else - basenm = aware ? "& # Ring~" : "& # Ring~"; - - if (aware) append_name = TRUE; + if (!flavor) basenm = "& Ring~ of %"; + else if (aware) basenm = "& # Ring~ of %"; + else basenm = "& # Ring~"; #endif if (!k_ptr->to_h && !k_ptr->to_d && (o_ptr->to_h || o_ptr->to_d)) show_weapon = TRUE; @@ -1921,17 +1924,14 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* Color the object */ modstr = staff_adj[indexx]; - if ((plain_descriptions && aware) || (o_ptr->ident & IDENT_STOREB)) #ifdef JP - basenm = aware ? "%¤Î¾ó" : "¾ó"; - else - basenm = aware ? "#%¤Î¾ó" : "#¾ó"; + if (!flavor) basenm = "%¤Î¾ó"; + else if (aware) basenm = "%¤Î#¾ó"; + else basenm = "#¾ó"; #else - basenm = "& Staff~"; - else - basenm = aware ? "& # Staff~" : "& # Staff~"; - - if (aware) append_name = TRUE; + if (!flavor) basenm = "& Staff~ of %"; + else if (aware) basenm = "& # Staff~ of %"; + else basenm = "& # Staff~"; #endif break; @@ -1942,17 +1942,14 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* Color the object */ modstr = wand_adj[indexx]; - if ((plain_descriptions && aware) || (o_ptr->ident & IDENT_STOREB)) #ifdef JP - basenm = aware? "%¤ÎËâË¡ËÀ":"ËâË¡ËÀ"; - else - basenm = aware ? "#%¤ÎËâË¡ËÀ" : "#ËâË¡ËÀ"; + if (!flavor) basenm = "%¤ÎËâË¡ËÀ"; + else if (aware) basenm = "%¤Î#ËâË¡ËÀ"; + else basenm = "#ËâË¡ËÀ"; #else - basenm = "& Wand~"; - else - basenm = aware ? "& # Wand~" : "& # Wand~"; - - if (aware) append_name = TRUE; + if (!flavor) basenm = "& Wand~ of %"; + else if (aware) basenm = "& # Wand~ of %"; + else basenm = "& # Wand~"; #endif break; @@ -1963,17 +1960,14 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* Color the object */ modstr = rod_adj[indexx]; - if ((plain_descriptions && aware) || (o_ptr->ident & IDENT_STOREB)) #ifdef JP - basenm = aware? "%¤Î¥í¥Ã¥É":"¥í¥Ã¥É"; - else - basenm = aware ? "#%¤Î¥í¥Ã¥É" : "#¥í¥Ã¥É"; + if (!flavor) basenm = "%¤Î¥í¥Ã¥É"; + else if (aware) basenm = "%¤Î#¥í¥Ã¥É"; + else basenm = "#¥í¥Ã¥É"; #else - basenm = "& Rod~"; - else - basenm = aware ? "& # Rod~" : "& # Rod~"; - - if (aware) append_name = TRUE; + if (!flavor) basenm = "& Rod~ of %"; + else if (aware) basenm = "& # Rod~ of %"; + else basenm = "& # Rod~"; #endif break; @@ -1984,17 +1978,14 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* Color the object */ modstr = scroll_adj[indexx]; - if ((plain_descriptions && aware) || (o_ptr->ident & IDENT_STOREB)) #ifdef JP - basenm = aware ? "%¤Î´¬Êª" : "´¬Êª"; - else - basenm = aware ? "¡Ö#¡×¤È½ñ¤«¤ì¤¿%¤Î´¬Êª" : "¡Ö#¡×¤È½ñ¤«¤ì¤¿´¬Êª"; + if (!flavor) basenm = "%¤Î´¬Êª"; + else if (aware) basenm = "¡Ö#¡×¤È½ñ¤«¤ì¤¿%¤Î´¬Êª"; + else basenm = "¡Ö#¡×¤È½ñ¤«¤ì¤¿´¬Êª"; #else - basenm = "& Scroll~"; - else - basenm = aware ? "& Scroll~ titled \"#\"" : "& Scroll~ titled \"#\""; - - if (aware) append_name = TRUE; + if (!flavor) basenm = "& Scroll~ of %"; + else if (aware) basenm = "& Scroll~ titled \"#\" of %"; + else basenm = "& Scroll~ titled \"#\""; #endif break; @@ -2005,17 +1996,14 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* Color the object */ modstr = potion_adj[indexx]; - if ((plain_descriptions && aware) || (o_ptr->ident & IDENT_STOREB)) #ifdef JP - basenm = aware ? "%¤ÎÌô" : "Ìô"; - else - basenm = aware ? "#%¤ÎÌô" : "#Ìô"; + if (!flavor) basenm = "%¤ÎÌô"; + else if (aware) basenm = "%¤Î#Ìô"; + else basenm = "#Ìô"; #else - basenm = "& Potion~"; - else - basenm = aware ? "& # Potion~" : "& # Potion~"; - - if (aware) append_name = TRUE; + if (!flavor) basenm = "& Potion~ of %"; + else if (aware) basenm = "& # Potion~ of %"; + else basenm = "& # Potion~"; #endif break; @@ -2029,17 +2017,14 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* Color the object */ modstr = food_adj[indexx]; - if ((plain_descriptions && aware) || (o_ptr->ident & IDENT_STOREB)) #ifdef JP - basenm = aware ? "%¤Î¥­¥Î¥³" : "¥­¥Î¥³"; - else - basenm = aware ? "#%¤Î¥­¥Î¥³" : "#¥­¥Î¥³"; + if (!flavor) basenm = "%¤Î¥­¥Î¥³"; + else if (aware) basenm = "%¤Î#¥­¥Î¥³"; + else basenm = "#¥­¥Î¥³"; #else - basenm = "& Mushroom~"; - else - basenm = aware ? "& # Mushroom~" : "& # Mushroom~"; - - if (aware) append_name = TRUE; + if (!flavor) basenm = "& Mushroom~ of %"; + else if (aware) basenm = "& # Mushroom~ of %"; + else basenm = "& # Mushroom~"; #endif break; @@ -2047,11 +2032,10 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) case TV_PARCHMENT: { - modstr = basenm; #ifdef JP - basenm = "ÍÓÈé»æ - #"; + basenm = "ÍÓÈé»æ - %"; #else - basenm = "& Parchment~ - #"; + basenm = "& Parchment~ - %"; #endif break; } @@ -2059,14 +2043,13 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* Magic Books */ case TV_LIFE_BOOK: { - modstr = basenm; #ifdef JP - basenm = "À¸Ì¿¤ÎËâË¡½ñ#"; + basenm = "À¸Ì¿¤ÎËâË¡½ñ%"; #else if (mp_ptr->spell_book == TV_LIFE_BOOK) - basenm = "& Book~ of Life Magic #"; + basenm = "& Book~ of Life Magic %"; else - basenm = "& Life Spellbook~ #"; + basenm = "& Life Spellbook~ %"; #endif break; @@ -2074,14 +2057,13 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) case TV_SORCERY_BOOK: { - modstr = basenm; #ifdef JP - basenm = "Àç½Ñ¤ÎËâË¡½ñ#"; + basenm = "Àç½Ñ¤ÎËâË¡½ñ%"; #else if (mp_ptr->spell_book == TV_LIFE_BOOK) - basenm = "& Book~ of Sorcery #"; + basenm = "& Book~ of Sorcery %"; else - basenm = "& Sorcery Spellbook~ #"; + basenm = "& Sorcery Spellbook~ %"; #endif break; @@ -2089,14 +2071,13 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) case TV_NATURE_BOOK: { - modstr = basenm; #ifdef JP - basenm = "¼«Á³¤ÎËâË¡½ñ#"; + basenm = "¼«Á³¤ÎËâË¡½ñ%"; #else if (mp_ptr->spell_book == TV_LIFE_BOOK) - basenm = "& Book~ of Nature Magic #"; + basenm = "& Book~ of Nature Magic %"; else - basenm = "& Nature Spellbook~ #"; + basenm = "& Nature Spellbook~ %"; #endif break; @@ -2104,14 +2085,13 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) case TV_CHAOS_BOOK: { - modstr = basenm; #ifdef JP - basenm = "¥«¥ª¥¹¤ÎËâË¡½ñ#"; + basenm = "¥«¥ª¥¹¤ÎËâË¡½ñ%"; #else if (mp_ptr->spell_book == TV_LIFE_BOOK) - basenm = "& Book~ of Chaos Magic #"; + basenm = "& Book~ of Chaos Magic %"; else - basenm = "& Chaos Spellbook~ #"; + basenm = "& Chaos Spellbook~ %"; #endif break; @@ -2119,14 +2099,13 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) case TV_DEATH_BOOK: { - modstr = basenm; #ifdef JP - basenm = "°Å¹õ¤ÎËâË¡½ñ#"; + basenm = "°Å¹õ¤ÎËâË¡½ñ%"; #else if (mp_ptr->spell_book == TV_LIFE_BOOK) - basenm = "& Book~ of Death Magic #"; + basenm = "& Book~ of Death Magic %"; else - basenm = "& Death Spellbook~ #"; + basenm = "& Death Spellbook~ %"; #endif break; @@ -2134,14 +2113,13 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) case TV_TRUMP_BOOK: { - modstr = basenm; #ifdef JP - basenm = "¥È¥é¥ó¥×¤ÎËâË¡½ñ#"; + basenm = "¥È¥é¥ó¥×¤ÎËâË¡½ñ%"; #else if (mp_ptr->spell_book == TV_LIFE_BOOK) - basenm = "& Book~ of Trump Magic #"; + basenm = "& Book~ of Trump Magic %"; else - basenm = "& Trump Spellbook~ #"; + basenm = "& Trump Spellbook~ %"; #endif break; @@ -2149,14 +2127,13 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) case TV_ARCANE_BOOK: { - modstr = basenm; #ifdef JP - basenm = "Èë½Ñ¤ÎËâË¡½ñ#"; + basenm = "Èë½Ñ¤ÎËâË¡½ñ%"; #else if (mp_ptr->spell_book == TV_LIFE_BOOK) - basenm = "& Book~ of Arcane Magic #"; + basenm = "& Book~ of Arcane Magic %"; else - basenm = "& Arcane Spellbook~ #"; + basenm = "& Arcane Spellbook~ %"; #endif break; @@ -2164,14 +2141,13 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) case TV_ENCHANT_BOOK: { - modstr = basenm; #ifdef JP - basenm = "¾¢¤ÎËâË¡½ñ#"; + basenm = "¾¢¤ÎËâË¡½ñ%"; #else if (mp_ptr->spell_book == TV_LIFE_BOOK) - basenm = "& Book~ of Craft Magic #"; + basenm = "& Book~ of Craft Magic %"; else - basenm = "& Craft Spellbook~ #"; + basenm = "& Craft Spellbook~ %"; #endif break; @@ -2179,14 +2155,13 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) case TV_DAEMON_BOOK: { - modstr = basenm; #ifdef JP - basenm = "°­Ëâ¤ÎËâË¡½ñ#"; + basenm = "°­Ëâ¤ÎËâË¡½ñ%"; #else if (mp_ptr->spell_book == TV_LIFE_BOOK) - basenm = "& Book~ of Daemon Magic #"; + basenm = "& Book~ of Daemon Magic %"; else - basenm = "& Daemon Spellbook~ #"; + basenm = "& Daemon Spellbook~ %"; #endif break; @@ -2194,14 +2169,13 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) case TV_CRUSADE_BOOK: { - modstr = basenm; #ifdef JP - basenm = "Ç˼٤ÎËâË¡½ñ#"; + basenm = "Ç˼٤ÎËâË¡½ñ%"; #else if (mp_ptr->spell_book == TV_LIFE_BOOK) - basenm = "& Book~ of Crusade Magic #"; + basenm = "& Book~ of Crusade Magic %"; else - basenm = "& Crusade Spellbook~ #"; + basenm = "& Crusade Spellbook~ %"; #endif break; @@ -2209,11 +2183,10 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) case TV_MUSIC_BOOK: { - modstr = basenm; #ifdef JP - basenm = "²Î½¸#"; + basenm = "²Î½¸%"; #else - basenm = "& Song Book~ #"; + basenm = "& Song Book~ %"; #endif break; @@ -2221,11 +2194,10 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) case TV_HISSATSU_BOOK: { - modstr = basenm; #ifdef JP - basenm = "& Éð·Ý¤Î½ñ#"; + basenm = "& Éð·Ý¤Î½ñ%"; #else - basenm = "Book~ of Kendo #"; + basenm = "Book~ of Kendo %"; #endif break; @@ -2255,10 +2227,7 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) if (aware && have_flag(flgs, TR_FULL_NAME)) { if (known && o_ptr->name1) basenm = a_name + a_info[o_ptr->name1].name; - else basenm = get_object_name(o_ptr); -#ifndef JP - append_name = FALSE; -#endif + else basenm = kindname; } /* Start dumping the result */ @@ -2271,7 +2240,7 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) s = basenm; /* No prefix */ - if (!pref) + if (mode & OD_OMIT_PREFIX) { /* Nothing */ } @@ -2299,7 +2268,7 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) s = basenm + 2; /* No prefix */ - if (!pref) + if (mode & OD_OMIT_PREFIX) { /* Nothing */ } @@ -2334,22 +2303,28 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) } } - /* A single one, with a vowel in the modifier */ - else if ((*s == '#') && (is_a_vowel(modstr[0]))) + /* A single one */ + else { - t = object_desc_str(t, "an "); - } + bool vowel; - /* A single one, with a vowel */ - else if (is_a_vowel(*s)) - { - t = object_desc_str(t, "an "); - } + switch (*s) + { + case '#': vowel = is_a_vowel(modstr[0]); break; + case '%': vowel = is_a_vowel(*kindname); break; + default: vowel = is_a_vowel(*s); break; + } - /* A single one, without a vowel */ - else - { - t = object_desc_str(t, "a "); + if (vowel) + { + /* A single one, with a vowel */ + t = object_desc_str(t, "an "); + } + else + { + /* A single one, without a vowel */ + t = object_desc_str(t, "a "); + } } } @@ -2360,7 +2335,7 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) s = basenm; /* No pref */ - if (!pref) + if (mode & OD_OMIT_PREFIX) { /* Nothing */ } @@ -2407,8 +2382,8 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* ¥é¥ó¥À¥à¡¦¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È */ if (o_ptr->art_name) { - char temp[256]; - strcpy(temp, quark_str(o_ptr->art_name)); + cptr temp = quark_str(o_ptr->art_name); + /* '¡Ø' ¤«¤é»Ï¤Þ¤é¤Ê¤¤ÅÁÀâ¤Î¥¢¥¤¥Æ¥à¤Î̾Á°¤ÏºÇ½é¤ËÉղ乤ë */ /* ±Ñ¸ìÈǤΥ»¡¼¥Ö¥Õ¥¡¥¤¥ë¤«¤éÍ褿 'of XXX' ¤Ï,¡ÖXXX¤Î¡×¤Èɽ¼¨¤¹¤ë */ if (strncmp(temp, "of ", 3) == 0) @@ -2437,17 +2412,34 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) } } #endif + /* Copy the string */ for (; *s; s++) { - /* Pluralizer */ -#ifdef JP + /* Insert the modifier (flavor) */ if (*s == '#') -#else - if (*s == '~') + { + t = object_desc_str(t, modstr); + + /* Paranoia -- Never append multiple modstr's */ + modstr = ""; + } + + /* Append kind name */ + else if (*s == '%') + { + t = object_desc_str(t, kindname); + + /* Paranoia -- Never append multiple kindname's */ + kindname = ""; + } + +#ifndef JP + /* Pluralizer */ + else if (*s == '~') { /* Add a plural if needed */ - if (pref && (o_ptr->number != 1)) + if (!(mode & OD_NO_PLURAL) && (o_ptr->number != 1)) { char k = t[-1]; @@ -2460,23 +2452,8 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) *t++ = 's'; } } - - /* Modifier */ - else if (*s == '#') #endif - { - /* Insert the modifier */ - for (u = modstr; *u; u++) *t++ = *u; - } -#ifdef JP - else if (*s == '%') - /* saigo ¤ÎÂå¤ï¤ê¡£¸úǽ¤òÉղ乤ë by ita */ - { - modstr = get_object_name(o_ptr); - for (u = modstr; *u; u++) *t++ = *u; - } -#endif /* Normal */ else { @@ -2489,16 +2466,6 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) *t = '\0'; - /* Append the "kind name" to the "base name" */ -#ifndef JP - if (append_name) - { - t = object_desc_str(t, " of "); - t = object_desc_str(t, get_object_name(o_ptr)); - } -#endif - - #ifdef JP /* '¡Ø'¤«¤é»Ï¤Þ¤ëÅÁÀâ¤Î¥¢¥¤¥Æ¥à¤Î̾Á°¤ÏºÇ¸å¤ËÉղ乤ë */ if (known) @@ -2606,7 +2573,7 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* No more details wanted */ - if (mode < 1) goto copyback; + if (mode & OD_NAME_ONLY) goto object_desc_done; /* Hack -- Chests must be described in detail */ if (o_ptr->tval == TV_CHEST) @@ -2944,7 +2911,7 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* No more details wanted */ - if (mode < 2) goto copyback; + if (mode & OD_NAME_AND_ENCHANT) goto object_desc_done; if (known) /* Known item only */ @@ -3130,38 +3097,74 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) /* No more details wanted */ - if (mode < 3) goto copyback; + if (mode & OD_OMIT_INSCRIPTION) goto object_desc_done; - /* No inscription yet */ + /* Prepare real inscriptions in a buffer */ tmp_val2[0] = '\0'; + /* Auto abbreviation inscribe */ + if ((abbrev_extra || abbrev_all) && (o_ptr->ident & IDENT_MENTAL)) + { + if (!o_ptr->inscription || !my_strchr(quark_str(o_ptr->inscription), '%')) + { + bool kanji, all; + +#ifdef JP + kanji = TRUE; +#else + kanji = FALSE; +#endif + all = abbrev_all; + + get_ability_abbreviation(tmp_val2, o_ptr, kanji, all); + } + } + + /* Use the standard inscription if available */ + if (o_ptr->inscription) + { + char buff[1024]; + + if (tmp_val2[0]) strcat(tmp_val2, ", "); + + /* Get inscription and convert {%} */ + get_inscription(buff, o_ptr); + + /* strcat with correct treating of kanji */ + my_strcat(tmp_val2, buff, sizeof(tmp_val2)); + } + + + /* No fake inscription yet */ + fake_insc_buf[0] = '\0'; + /* Use the game-generated "feeling" otherwise, if available */ if (o_ptr->feeling) { - strcpy(tmp_val2, game_inscriptions[o_ptr->feeling]); + strcpy(fake_insc_buf, game_inscriptions[o_ptr->feeling]); } /* Note "cursed" if the item is known to be cursed */ else if (cursed_p(o_ptr) && (known || (o_ptr->ident & IDENT_SENSE))) { #ifdef JP - strcpy(tmp_val2, "¼ö¤ï¤ì¤Æ¤¤¤ë"); + strcpy(fake_insc_buf, "¼ö¤ï¤ì¤Æ¤¤¤ë"); #else - strcpy(tmp_val2, "cursed"); + strcpy(fake_insc_buf, "cursed"); #endif } /* Note "unidentified" if the item is unidentified */ else if (((o_ptr->tval == TV_RING) || (o_ptr->tval == TV_AMULET) || (o_ptr->tval == TV_LITE) || (o_ptr->tval == TV_FIGURINE)) - && object_aware_p(o_ptr) && !known + && aware && !known && !(o_ptr->ident & IDENT_SENSE)) { #ifdef JP - strcpy(tmp_val2, "̤´ÕÄê"); + strcpy(fake_insc_buf, "̤´ÕÄê"); #else - strcpy(tmp_val2, "unidentified"); + strcpy(fake_insc_buf, "unidentified"); #endif } @@ -3169,9 +3172,9 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) else if (!known && (o_ptr->ident & IDENT_EMPTY)) { #ifdef JP - strcpy(tmp_val2, "¶õ"); + strcpy(fake_insc_buf, "¶õ"); #else - strcpy(tmp_val2, "empty"); + strcpy(fake_insc_buf, "empty"); #endif } @@ -3179,102 +3182,62 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode) else if (!aware && object_tried_p(o_ptr)) { #ifdef JP - strcpy(tmp_val2, "̤ȽÌÀ"); + strcpy(fake_insc_buf, "̤ȽÌÀ"); #else - strcpy(tmp_val2, "tried"); + strcpy(fake_insc_buf, "tried"); #endif } - /* Init inscription buffer */ - insc_buf[0] = '\0'; - - /* Auto abbreviation inscribe */ - if ((abbrev_extra || abbrev_all) && (o_ptr->ident & IDENT_MENTAL)) + /* Note the discount, if any */ + if (o_ptr->discount) { - if (!o_ptr->inscription || !my_strchr(quark_str(o_ptr->inscription), '%')) + /* Hidden by real inscription unless in a store */ + if (!tmp_val2[0] || (o_ptr->ident & IDENT_STORE)) { - bool kanji, all; + /* Append to other fake inscriptions if any */ + if (fake_insc_buf[0]) strcat(fake_insc_buf, ", "); + (void)object_desc_num(fake_insc_buf, o_ptr->discount); #ifdef JP - kanji = TRUE; + strcat(fake_insc_buf, "%°ú¤­"); #else - kanji = FALSE; + strcat(fake_insc_buf, "% off"); #endif - all = abbrev_all; - - get_ability_abbreviation(insc_buf, o_ptr, kanji, all); } } - /* Use the standard inscription if available */ - if (o_ptr->inscription) - { - char buff[1024]; - - if (insc_buf[0]) strcat(insc_buf, ", "); - - /* Get inscription and convert {%} */ - get_inscription(buff, o_ptr); - - /* strcat with correct treating of kanji */ - my_strcat(insc_buf, buff, sizeof(insc_buf)); - } - - - /* Note the discount, if any */ - if (o_ptr->discount && - (!insc_buf[0] || (o_ptr->ident & IDENT_STOREB))) - { - if (tmp_val2[0]) strcat(tmp_val2, ", "); - - (void)object_desc_num(tmp_val2, o_ptr->discount); -#ifdef JP - strcat(tmp_val2, "%°ú¤­"); -#else - strcat(tmp_val2, "% off"); -#endif - } - - /* Add insc_buf */ - if (insc_buf[0]) - { - if (tmp_val2[0]) strcat(tmp_val2, ", "); - - strcat(tmp_val2, insc_buf); - } - /* Append the inscription, if any */ - if (tmp_val2[0]) + if (fake_insc_buf[0] || tmp_val2[0]) { /* Append the inscription */ t = object_desc_chr(t, ' '); t = object_desc_chr(t, c1); - t = object_desc_str(t, tmp_val2); - t = object_desc_chr(t, c2); - } -copyback: - t = tmp_val; - for (i = 0; i < MAX_NLEN - 2; i++) - { -#ifdef JP - if (iskanji(*(t + i))) + /* Append fake inscriptions */ + if (fake_insc_buf[0]) { - *(buf + i) = *(t + i); - i++; + t = object_desc_str(t, fake_insc_buf); } -#endif - *(buf + i) = *(t + i); - } - if (i == MAX_NLEN - 2) - { -#ifdef JP - if (iskanji(*(t + i))) - *(buf + i) = '\0'; - else -#endif - *(buf + i) = *(t + i); + + /* Append a separater */ + if (fake_insc_buf[0] && tmp_val2[0]) + { + t = object_desc_chr(t, ','); + t = object_desc_chr(t, ' '); + } + + /* Append real inscriptions */ + if (tmp_val2[0]) + { + t = object_desc_str(t, tmp_val2); + } + + t = object_desc_chr(t, c2); } - *(buf + MAX_NLEN - 1) = '\0'; + +object_desc_done: + my_strcpy(buf, tmp_val, MAX_NLEN); } + + diff --git a/src/melee1.c b/src/melee1.c index d03721c24..d0a11b511 100644 --- a/src/melee1.c +++ b/src/melee1.c @@ -995,7 +995,7 @@ bool make_attack_normal(int m_idx) if (artifact_p(o_ptr) || o_ptr->art_name) continue; /* Get a description */ - object_desc(o_name, o_ptr, FALSE, 3); + object_desc(o_name, o_ptr, OD_OMIT_PREFIX); /* Message */ #ifdef JP @@ -1091,7 +1091,7 @@ bool make_attack_normal(int m_idx) if ((o_ptr->tval != TV_FOOD) && !((o_ptr->tval == TV_CORPSE) && (o_ptr->sval))) continue; /* Get a description */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /* Message */ #ifdef JP diff --git a/src/melee2.c b/src/melee2.c index a55ed56c2..c2261abda 100644 --- a/src/melee2.c +++ b/src/melee2.c @@ -3422,7 +3422,7 @@ msg_print(" object_flags(o_ptr, flgs); /* Acquire the object name */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Acquire the monster name */ monster_desc(m_name, m_ptr, MD_INDEF_HIDDEN); diff --git a/src/monster2.c b/src/monster2.c index c4ddc64bc..46a725bcc 100644 --- a/src/monster2.c +++ b/src/monster2.c @@ -3329,7 +3329,7 @@ msg_print(" o_ptr = choose_warning_item(); if (o_ptr) { - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP msg_format("%s¤Ï%s¸÷¤Ã¤¿¡£", o_name, color); #else diff --git a/src/mspells1.c b/src/mspells1.c index 7604facdb..fa6365a68 100644 --- a/src/mspells1.c +++ b/src/mspells1.c @@ -580,7 +580,7 @@ void curse_equipment(int chance, int heavy_chance) object_flags(o_ptr, oflgs); - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /* Extra, biased saving throw for blessed items */ if (have_flag(oflgs, TR_BLESSED) && (randint1(888) > chance)) diff --git a/src/object1.c b/src/object1.c index 2aebce08f..0dfd1f3a8 100644 --- a/src/object1.c +++ b/src/object1.c @@ -328,40 +328,6 @@ void object_flags_known(object_type *o_ptr, u32b flgs[TR_FLAG_SIZE]) /* - * Hack -- describe an item currently in a store's inventory - * This allows an item to *look* like the player is "aware" of it - */ -void object_desc_store(char *buf, object_type *o_ptr, int pref, int mode) -{ - /* Save the "aware" flag */ - bool hack_aware = object_aware_p(o_ptr); - - /* Save the "known" flag */ - bool hack_known = (o_ptr->ident & (IDENT_KNOWN)) ? TRUE : FALSE; - - - /* Set the "known" flag */ - o_ptr->ident |= (IDENT_KNOWN); - - /* Force "aware" for description */ - k_info[o_ptr->k_idx].aware = TRUE; - - - /* Describe the object */ - object_desc(buf, o_ptr, pref, mode); - - - /* Restore "aware" flag */ - k_info[o_ptr->k_idx].aware = hack_aware; - - /* Clear the known flag */ - if (!hack_known) o_ptr->ident &= ~(IDENT_KNOWN); -} - - - - -/* * Determine the "Activation" (if any) for an artifact * Return a string, or NULL for "no activation" */ @@ -3881,9 +3847,9 @@ info[i++] = " /* Display Item name */ if (real) - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); else - object_desc_store(o_name, o_ptr, TRUE, 0); + object_desc(o_name, o_ptr, (OD_NAME_ONLY | OD_STORE)); prt(o_name, 0, 0); @@ -4463,7 +4429,7 @@ void display_inven(void) Term_putstr(0, i, 3, TERM_WHITE, tmp_val); /* Obtain an item description */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Obtain the length of the description */ n = strlen(o_name); @@ -4556,7 +4522,7 @@ void display_equip(void) } else { - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); attr = tval_to_attr[o_ptr->tval % 128]; } @@ -4927,7 +4893,7 @@ int show_inven(int target_item) if (!item_tester_okay(o_ptr)) continue; /* Describe the object */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Save the object index, color, and description */ out_index[k] = i; @@ -5086,7 +5052,7 @@ int show_equip(int target_item) if (!item_tester_okay(o_ptr) && (!((i == INVEN_LARM) && p_ptr->ryoute) || item_tester_no_ryoute)) continue; /* Description */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); if ((i == INVEN_LARM) && p_ptr->ryoute) { @@ -5321,7 +5287,7 @@ static bool verify(cptr prompt, int item) } /* Describe */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Prompt */ #ifdef JP @@ -6416,7 +6382,7 @@ int show_floor(int target_item, int y, int x, int *min_width) o_ptr = &o_list[floor_list[i]]; /* Describe the object */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Save the index */ out_index[k] = i; @@ -7818,7 +7784,7 @@ void py_pickup_floor(int pickup) o_ptr = &o_list[this_o_idx]; /* Describe the object */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Access the next object */ next_o_idx = o_ptr->next_o_idx; @@ -7904,7 +7870,7 @@ void py_pickup_floor(int pickup) #endif /* ALLOW_EASY_SENSE */ /* Describe the object */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Message */ #ifdef JP @@ -7952,7 +7918,7 @@ void py_pickup_floor(int pickup) #endif /* ALLOW_EASY_SENSE */ /* Describe the object */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Message */ #ifdef JP @@ -8002,7 +7968,7 @@ void py_pickup_floor(int pickup) #endif /* ALLOW_EASY_SENSE */ /* Describe the object */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Build a prompt */ #ifdef JP diff --git a/src/object2.c b/src/object2.c index 4131f1f17..ca3e0bc7f 100644 --- a/src/object2.c +++ b/src/object2.c @@ -785,7 +785,7 @@ void object_aware(object_type *o_ptr) object_copy(q_ptr, o_ptr); q_ptr->number = 1; - object_desc(o_name, q_ptr, TRUE, 0); + object_desc(o_name, q_ptr, OD_NAME_ONLY); do_cmd_write_nikki(NIKKI_HANMEI, 0, o_name); } @@ -1806,11 +1806,11 @@ void object_absorb(object_type *o_ptr, object_type *j_ptr) if (object_known_p(j_ptr)) object_known(o_ptr); /* Hack -- clear "storebought" if only one has it */ - if (((o_ptr->ident & IDENT_STOREB) || (j_ptr->ident & IDENT_STOREB)) && - (!((o_ptr->ident & IDENT_STOREB) && (j_ptr->ident & IDENT_STOREB)))) + if (((o_ptr->ident & IDENT_STORE) || (j_ptr->ident & IDENT_STORE)) && + (!((o_ptr->ident & IDENT_STORE) && (j_ptr->ident & IDENT_STORE)))) { - if (j_ptr->ident & IDENT_STOREB) j_ptr->ident &= 0xEF; - if (o_ptr->ident & IDENT_STOREB) o_ptr->ident &= 0xEF; + if (j_ptr->ident & IDENT_STORE) j_ptr->ident &= 0xEF; + if (o_ptr->ident & IDENT_STORE) o_ptr->ident &= 0xEF; } /* Hack -- blend "mental" status */ @@ -2051,7 +2051,7 @@ static void object_mention(object_type *o_ptr) char o_name[MAX_NLEN]; /* Describe */ - object_desc_store(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_NAME_ONLY | OD_STORE)); /* Artifact */ if (artifact_p(o_ptr)) @@ -4917,7 +4917,7 @@ s16b drop_near(object_type *j_ptr, int chance, int y, int x) #endif /* Describe object */ - object_desc(o_name, j_ptr, FALSE, 0); + object_desc(o_name, j_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /* Handle normal "breakage" */ @@ -5411,7 +5411,7 @@ void inven_item_describe(int item) char o_name[MAX_NLEN]; /* Get a description */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Print a message */ #ifdef JP @@ -5599,7 +5599,7 @@ void floor_item_describe(int item) char o_name[MAX_NLEN]; /* Get a description */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Print a message */ #ifdef JP @@ -5914,7 +5914,7 @@ s16b inven_takeoff(int item, int amt) q_ptr->number = amt; /* Describe the object */ - object_desc(o_name, q_ptr, TRUE, 3); + object_desc(o_name, q_ptr, 0); /* Took off weapon */ if (item == INVEN_RARM) @@ -6029,7 +6029,7 @@ void inven_drop(int item, int amt) q_ptr->number = amt; /* Describe local object */ - object_desc(o_name, q_ptr, TRUE, 3); + object_desc(o_name, q_ptr, 0); /* Message */ #ifdef JP @@ -6312,7 +6312,7 @@ void display_koff(int k_idx) object_prep(q_ptr, k_idx); /* Describe */ - object_desc_store(o_name, q_ptr, FALSE, 0); + object_desc(o_name, q_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY | OD_STORE)); /* Mention the object name */ Term_putstr(0, 0, -1, TERM_WHITE, o_name); @@ -6806,7 +6806,7 @@ bool process_warning(int xx, int yy) { object_type *o_ptr = choose_warning_item(); - if (o_ptr) object_desc(o_name, o_ptr, FALSE, 0); + if (o_ptr) object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP else strcpy(o_name, "ÂÎ"); /* Warning ability without item */ msg_format("%s¤¬±Ô¤¯¿Ì¤¨¤¿¡ª", o_name); @@ -6830,7 +6830,7 @@ bool process_warning(int xx, int yy) { object_type *o_ptr = choose_warning_item(); - if (o_ptr) object_desc(o_name, o_ptr, FALSE, 0); + if (o_ptr) object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP else strcpy(o_name, "ÂÎ"); /* Warning ability without item */ msg_format("%s¤¬¿Ì¤¨¤¿¡ª", o_name); @@ -7393,7 +7393,7 @@ static void drain_essence(void) if (object_known_p(o_ptr) && (o_ptr->name1 || o_ptr->name2 || o_ptr->art_name || o_ptr->xtra3)) { char o_name[MAX_NLEN]; - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP if (!get_check(format("ËÜÅö¤Ë%s¤«¤éÃê½Ð¤·¤Æ¤è¤í¤·¤¤¤Ç¤¹¤«¡©", o_name))) return; #else @@ -8038,7 +8038,7 @@ static void add_essence(int mode) return; } - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); use_essence = es_ptr->value; if ((o_ptr->tval >= TV_SHOT) && (o_ptr->tval <= TV_BOLT)) use_essence = (use_essence+9)/10; @@ -8363,7 +8363,7 @@ static void erase_essence(void) o_ptr = &o_list[0 - item]; } - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); #ifdef JP if (!get_check(format("¤è¤í¤·¤¤¤Ç¤¹¤«¡© [%s]", o_name))) return; #else diff --git a/src/racial.c b/src/racial.c index 4f3766bd2..21f539bb3 100644 --- a/src/racial.c +++ b/src/racial.c @@ -129,7 +129,7 @@ static bool do_cmd_archer(void) (void)inven_carry(q_ptr); - object_desc(o_name, q_ptr, TRUE, 2); + object_desc(o_name, q_ptr, 0); #ifdef JP msg_format("´äÀФòºï¤Ã¤Æ%s¤òºî¤Ã¤¿¡£",o_name); #else @@ -192,7 +192,7 @@ static bool do_cmd_archer(void) q_ptr->discount = 99; - object_desc(o_name, q_ptr, TRUE, 2); + object_desc(o_name, q_ptr, 0); #ifdef JP msg_format("%s¤òºî¤Ã¤¿¡£", o_name); #else @@ -256,7 +256,7 @@ static bool do_cmd_archer(void) q_ptr->discount = 99; - object_desc(o_name, q_ptr, TRUE, 2); + object_desc(o_name, q_ptr, 0); #ifdef JP msg_format("%s¤òºî¤Ã¤¿¡£", o_name); #else @@ -380,7 +380,7 @@ s = " } } - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Message */ #ifdef JP msg_format("%s¤ÎËâÎϤò¼è¤ê¹þ¤ó¤À¡£", o_name); diff --git a/src/spells1.c b/src/spells1.c index 6a236feb4..3813296a6 100644 --- a/src/spells1.c +++ b/src/spells1.c @@ -1636,7 +1636,7 @@ note_kill = " if (known && o_ptr->marked) { obvious = TRUE; - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); } /* Artifacts, and other objects, get to resist */ diff --git a/src/spells2.c b/src/spells2.c index ef70a895e..c1184bd4c 100644 --- a/src/spells2.c +++ b/src/spells2.c @@ -5446,7 +5446,7 @@ bool destroy_area(int y1, int x1, int r, bool in_generate) if (in_generate && cheat_peek) { char o_name[MAX_NLEN]; - object_desc_store(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_NAME_ONLY | OD_STORE)); #ifdef JP msg_format("ÅÁÀâ¤Î¥¢¥¤¥Æ¥à (%s) ¤ÏÀ¸À®Ãæ¤Ë*Ç˲õ*¤µ¤ì¤¿¡£", o_name); #else diff --git a/src/spells3.c b/src/spells3.c index 49df49963..355de7f31 100644 --- a/src/spells3.c +++ b/src/spells3.c @@ -985,7 +985,7 @@ bool apply_disenchant(int mode) /* Describe the object */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /* Artifacts have 71% chance to resist */ @@ -1290,7 +1290,7 @@ s = " /* Let's get the name before it is changed... */ char o_name[MAX_NLEN]; - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); switch (brand_type) { @@ -1846,7 +1846,7 @@ msg_print(" o_ptr->iy = (byte)py; o_ptr->ix = (byte)px; - object_desc(o_name, o_ptr, TRUE, 0); + object_desc(o_name, o_ptr, OD_NAME_ONLY); #ifdef JP msg_format("%^s¤¬¤¢¤Ê¤¿¤Î­¸µ¤ËÈô¤ó¤Ç¤­¤¿¡£", o_name); #else @@ -2163,7 +2163,7 @@ s = " /* Describe the object */ old_number = o_ptr->number; o_ptr->number = amt; - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); o_ptr->number = old_number; /* Verify unless quantity given */ @@ -2575,7 +2575,7 @@ s = " /* Description */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /* Describe */ #ifdef JP @@ -2656,7 +2656,7 @@ bool artifact_scroll(void) /* Description */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /* Describe */ #ifdef JP @@ -2762,7 +2762,7 @@ bool identify_item(object_type *o_ptr) char o_name[MAX_NLEN]; /* Description */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); if (o_ptr->ident & IDENT_KNOWN) old_known = TRUE; @@ -2790,7 +2790,7 @@ bool identify_item(object_type *o_ptr) record_turn = turn; /* Description */ - object_desc(o_name, o_ptr, TRUE, 0); + object_desc(o_name, o_ptr, OD_NAME_ONLY); if(record_fix_art && !old_known && artifact_p(o_ptr)) do_cmd_write_nikki(NIKKI_ART, 0, o_name); @@ -2872,7 +2872,7 @@ s = " old_known = identify_item(o_ptr); /* Description */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Describe */ if (item >= INVEN_RARM) @@ -3048,7 +3048,7 @@ s = " handle_stuff(); /* Description */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Describe */ if (item >= INVEN_RARM) @@ -3270,7 +3270,7 @@ s = " /* Artifacts are never destroyed. */ if (artifact_p(o_ptr)) { - object_desc(o_name, o_ptr, TRUE, 0); + object_desc(o_name, o_ptr, OD_NAME_ONLY); #ifdef JP msg_format("ËâÎϤ¬µÕή¤·¤¿¡ª%s¤Ï´°Á´¤ËËâÎϤò¼º¤Ã¤¿¡£", o_name); #else @@ -3289,7 +3289,7 @@ msg_format(" else { /* Get the object description */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /*** Determine Seriousness of Failure ***/ @@ -3496,7 +3496,7 @@ s = " /* Description */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /* Extract the flags */ object_flags(o_ptr, flgs); @@ -3690,7 +3690,7 @@ s = " /* Description */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /* Extract the flags */ object_flags(o_ptr, flgs); @@ -5142,7 +5142,7 @@ int inven_damage(inven_func typ, int perc) if (amt) { /* Get a description */ - object_desc(o_name, o_ptr, FALSE, 3); + object_desc(o_name, o_ptr, OD_OMIT_PREFIX); /* Message */ #ifdef JP @@ -5229,7 +5229,7 @@ static int minus_ac(void) /* Describe */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /* Extract the flags */ object_flags(o_ptr, flgs); @@ -5467,7 +5467,7 @@ s = " /* Description */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); add_flag(o_ptr->art_flags, TR_IGNORE_ACID); @@ -5518,7 +5518,7 @@ bool curse_armor(void) /* Describe */ - object_desc(o_name, o_ptr, FALSE, 3); + object_desc(o_name, o_ptr, OD_OMIT_PREFIX); /* Attempt a saving throw for artifacts */ if ((o_ptr->art_name || artifact_p(o_ptr)) && (randint0(100) < 50)) @@ -5599,7 +5599,7 @@ bool curse_weapon(bool force, int slot) /* Describe */ - object_desc(o_name, o_ptr, FALSE, 3); + object_desc(o_name, o_ptr, OD_OMIT_PREFIX); /* Attempt a saving throw */ if ((artifact_p(o_ptr) || o_ptr->art_name) && (randint0(100) < 50) && !force) @@ -6005,7 +6005,7 @@ msg_print(" /* Artifacts are never destroyed. */ if (artifact_p(o_ptr)) { - object_desc(o_name, o_ptr, TRUE, 0); + object_desc(o_name, o_ptr, OD_NAME_ONLY); #ifdef JP msg_format("ËâÎϤ¬µÕή¤·¤¿¡ª%s¤Ï´°Á´¤ËËâÎϤò¼º¤Ã¤¿¡£", o_name); #else @@ -6024,7 +6024,7 @@ msg_format(" else { /* Get the object description */ - object_desc(o_name, o_ptr, FALSE, 0); + object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); /*** Determine Seriousness of Failure ***/ diff --git a/src/store.c b/src/store.c index ab4bb47cc..1ae4132c5 100644 --- a/src/store.c +++ b/src/store.c @@ -1945,7 +1945,7 @@ static void store_create(void) object_known(q_ptr); /* Mark it storebought */ - q_ptr->ident |= IDENT_STOREB; + q_ptr->ident |= IDENT_STORE; /* Mega-Hack -- no chests in stores */ if (q_ptr->tval == TV_CHEST) continue; @@ -2089,7 +2089,7 @@ static void display_entry(int pos) if (show_weights) maxwid -= 10; /* Describe the object */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); o_name[maxwid] = '\0'; c_put_str(tval_to_attr[o_ptr->tval], o_name, i+6, cur_col); @@ -2119,7 +2119,7 @@ static void display_entry(int pos) if (show_weights) maxwid -= 7; /* Describe the object (fully) */ - object_desc_store(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); o_name[maxwid] = '\0'; c_put_str(tval_to_attr[o_ptr->tval], o_name, i+6, cur_col); @@ -3353,7 +3353,7 @@ msg_format(" else { /* Describe the object (fully) */ - object_desc_store(o_name, j_ptr, TRUE, 3); + object_desc(o_name, j_ptr, 0); /* Message */ #ifdef JP @@ -3407,7 +3407,7 @@ msg_format("%s(%c) j_ptr->ident &= ~(IDENT_FIXED); /* Describe the transaction */ - object_desc(o_name, j_ptr, TRUE, 3); + object_desc(o_name, j_ptr, 0); /* Message */ #ifdef JP @@ -3420,7 +3420,7 @@ msg_format("%s record_turn = turn; if (record_buy) do_cmd_write_nikki(NIKKI_BUY, 0, o_name); - object_desc(o_name, o_ptr, TRUE, 0); + object_desc(o_name, o_ptr, OD_NAME_ONLY); if(record_rand_art && o_ptr->art_name) do_cmd_write_nikki(NIKKI_ART, 0, o_name); @@ -3429,12 +3429,12 @@ msg_format("%s /* Erase the "feeling" */ j_ptr->feeling = FEEL_NONE; - j_ptr->ident &= ~(IDENT_STOREB); + j_ptr->ident &= ~(IDENT_STORE); /* Give it to the player */ item_new = inven_carry(j_ptr); /* Describe the final result */ - object_desc(o_name, &inventory[item_new], TRUE, 3); + object_desc(o_name, &inventory[item_new], 0); /* Message */ #ifdef JP @@ -3558,7 +3558,7 @@ msg_format("%s item_new = inven_carry(j_ptr); /* Describe just the result */ - object_desc(o_name, &inventory[item_new], TRUE, 3); + object_desc(o_name, &inventory[item_new], 0); /* Message */ #ifdef JP @@ -3744,7 +3744,7 @@ static void store_sell(void) } /* Get a full description */ - object_desc(o_name, q_ptr, TRUE, 3); + object_desc(o_name, q_ptr, 0); /* Remove any inscription, feeling for stores */ if ((cur_store_num != STORE_HOME) && (cur_store_num != STORE_MUSEUM)) @@ -3837,8 +3837,8 @@ static void store_sell(void) /* Modify quantity */ q_ptr->number = amt; - /* Make it look like known */ - q_ptr->ident |= IDENT_STOREB; + /* Make it look like to be known */ + q_ptr->ident |= IDENT_STORE; /* * Hack -- If a rod or wand, let the shopkeeper know just @@ -3853,7 +3853,7 @@ static void store_sell(void) value = object_value(q_ptr) * q_ptr->number; /* Get the description all over again */ - object_desc(o_name, q_ptr, TRUE, 3); + object_desc(o_name, q_ptr, 0); /* Describe the result (in message buffer) */ #ifdef JP @@ -3908,7 +3908,7 @@ msg_format("%s else if (cur_store_num == STORE_MUSEUM) { char o2_name[MAX_NLEN]; - object_desc(o2_name, q_ptr, TRUE, 0); + object_desc(o2_name, q_ptr, OD_NAME_ONLY); if (-1 == store_check_num(q_ptr)) { @@ -4081,7 +4081,7 @@ msg_print(" } /* Description */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Describe */ #ifdef JP @@ -4786,7 +4786,7 @@ void do_cmd_store(void) object_copy(q_ptr, o_ptr); /* Describe it */ - object_desc(o_name, q_ptr, TRUE, 3); + object_desc(o_name, q_ptr, 0); /* Message */ #ifdef JP @@ -5083,7 +5083,7 @@ void move_to_black_market(object_type *o_ptr) st_ptr = &town[p_ptr->town_num].store[STORE_BLACK]; - o_ptr->ident |= IDENT_STOREB; + o_ptr->ident |= IDENT_STORE; (void)store_carry(o_ptr); diff --git a/src/wizard1.c b/src/wizard1.c index 8c8ea644e..71b1d8bc2 100644 --- a/src/wizard1.c +++ b/src/wizard1.c @@ -293,7 +293,7 @@ static void kind_info(char *buf, char *dam, char *wgt, int *lev, s32b *val, int /* Description (too brief) */ - object_desc_store(buf, q_ptr, FALSE, 0); + object_desc(buf, q_ptr, (OD_NAME_ONLY | OD_STORE)); /* Misc info */ @@ -1027,7 +1027,7 @@ static cptr *spoiler_flag_aux(const u32b art_flags[TR_FLAG_SIZE], static void analyze_general(object_type *o_ptr, char *desc_ptr) { /* Get a "useful" description of the object */ - object_desc_store(desc_ptr, o_ptr, TRUE, 1); + object_desc(desc_ptr, o_ptr, (OD_NAME_AND_ENCHANT | OD_STORE)); } diff --git a/src/wizard2.c b/src/wizard2.c index 6ab0e7f19..665203371 100644 --- a/src/wizard2.c +++ b/src/wizard2.c @@ -556,7 +556,7 @@ static void wiz_display_item(object_type *o_ptr) prt_alloc(o_ptr->tval, o_ptr->sval, 1, 0); /* Describe fully */ - object_desc_store(buf, o_ptr, TRUE, 3); + object_desc(buf, o_ptr, OD_STORE); prt(buf, 2, j); diff --git a/src/xtra2.c b/src/xtra2.c index b0d23fb83..a01bb1056 100644 --- a/src/xtra2.c +++ b/src/xtra2.c @@ -3303,7 +3303,7 @@ static int target_set_aux(int y, int x, int mode, cptr info) next_o_idx = o_ptr->next_o_idx; /* Obtain an object description */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Describe the object */ #ifdef JP @@ -3357,7 +3357,7 @@ static int target_set_aux(int y, int x, int mode, cptr info) o_ptr = &o_list[floor_list[0]]; /* Describe the object */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Message */ #ifdef JP @@ -3483,7 +3483,7 @@ static int target_set_aux(int y, int x, int mode, cptr info) boring = FALSE; /* Obtain an object description */ - object_desc(o_name, o_ptr, TRUE, 3); + object_desc(o_name, o_ptr, 0); /* Describe the object */ #ifdef JP @@ -5245,7 +5245,7 @@ msg_print(" msg_print("'Thou reliest too much on thy weapon.'"); #endif - object_desc(o_name, &inventory[INVEN_RARM], TRUE, 0); + object_desc(o_name, &inventory[INVEN_RARM], OD_NAME_ONLY); (void)curse_weapon(FALSE, INVEN_RARM); #ifdef JP reward = format("%s¤¬Ç˲õ¤µ¤ì¤¿¡£", o_name); @@ -5269,7 +5269,7 @@ msg_print(" msg_print("'Thou reliest too much on thine equipment.'"); #endif - object_desc(o_name, &inventory[INVEN_BODY], TRUE, 0); + object_desc(o_name, &inventory[INVEN_BODY], OD_NAME_ONLY); (void)curse_armor(); #ifdef JP reward = format("%s¤¬Ç˲õ¤µ¤ì¤¿¡£", o_name); @@ -5314,7 +5314,7 @@ msg_print(" if (one_in_(2)) { if (!buki_motteruka(INVEN_RARM)) break; - object_desc(o_name, &inventory[INVEN_RARM], TRUE, 0); + object_desc(o_name, &inventory[INVEN_RARM], OD_NAME_ONLY); (void)curse_weapon(FALSE, INVEN_RARM); #ifdef JP reward = format("%s¤¬Ç˲õ¤µ¤ì¤¿¡£", o_name); @@ -5325,7 +5325,7 @@ msg_print(" else { if (!inventory[INVEN_BODY].k_idx) break; - object_desc(o_name, &inventory[INVEN_BODY], TRUE, 0); + object_desc(o_name, &inventory[INVEN_BODY], OD_NAME_ONLY); (void)curse_armor(); #ifdef JP reward = format("%s¤¬Ç˲õ¤µ¤ì¤¿¡£", o_name); -- 2.11.0