diff -c -r old/defines.h new/defines.h *** old/defines.h Wed Sep 3 17:57:34 1997 --- new/defines.h Mon Jan 12 15:31:42 1998 *************** *** 2418,2423 **** --- 2418,2424 ---- (((T)->ident & (IDENT_KNOWN)) || \ (k_info[(T)->k_idx].easy_know && k_info[(T)->k_idx].aware)) + #if 0 /* * Return the "attr" for a given item. *************** *** 2439,2445 **** (k_info[(T)->k_idx].x_char) : \ (k_info[(T)->k_idx].d_char)) ! /* --- 2440,2446 ---- (k_info[(T)->k_idx].x_char) : \ (k_info[(T)->k_idx].d_char)) ! #endif /* diff -c -r old/externs.h new/externs.h *** old/externs.h Wed Sep 3 17:57:34 1997 --- new/externs.h Mon Jan 12 15:55:46 1998 *************** *** 456,461 **** --- 456,463 ---- extern void show_equip(void); extern void toggle_inven_equip(void); extern bool get_item(int *cp, cptr pmt, cptr str, int mode); + extern byte object_attr(object_type * o_ptr); + extern byte object_char(object_type * o_ptr); /* object2.c */ extern void excise_object_idx(int o_idx); diff -c -r old/object1.c new/object1.c *** old/object1.c Thu Sep 4 22:55:10 1997 --- new/object1.c Mon Jan 12 18:15:38 1998 *************** *** 4178,4181 **** --- 4178,4251 ---- } + byte object_attr(object_type * o_ptr) + { + /* rr9: Changed to display unidentified objects */ + + if (!arg_graphics) + { + if (k_info[(o_ptr)->k_idx].tval == TV_SCROLL) + return TERM_WHITE; + else if (object_has_flavor((o_ptr)->k_idx)) + return object_d_attr((o_ptr)->k_idx); + + #ifdef SV_DRAGON_HELM + # ifdef SV_DRAGON_SHIELD + + else if (((o_ptr -> tval == TV_HELM) && (o_ptr-> sval == SV_DRAGON_HELM)) || + ((o_ptr -> tval == TV_SHIELD) && (o_ptr-> sval == SV_DRAGON_SHIELD))) + return dragon_colour(o_ptr); + + # endif /* SV_DRAGON_SHIELD */ + #endif /* SV_DRAGON_HELM */ + + + else return ((k_info[(o_ptr)->k_idx].aware) ? + (k_info[(o_ptr)->k_idx].x_attr) : + (k_info[(o_ptr)->k_idx].d_attr)); + } + else return ((k_info[(o_ptr)->k_idx].aware) ? + (k_info[(o_ptr)->k_idx].x_attr) : + (k_info[(o_ptr)->k_idx].d_attr)); + } + + + /* rr9: Display the correct color of potions */ + byte object_char(object_type * o_ptr) + { + if (arg_graphics) + { + if (k_info[(o_ptr)->k_idx].tval == TV_POTION) + { + switch (object_d_attr((o_ptr)->k_idx)) + { + case TERM_WHITE: return 0x8A; + case TERM_L_WHITE: return 0x89; + case TERM_DARK: return 0x8A; + case TERM_L_DARK: return 0x8A; + case TERM_UMBER: return 0x89; + case TERM_L_UMBER: return 0x89; + case TERM_GREEN: return 0x86; + case TERM_L_GREEN: return 0x8C; + case TERM_BLUE: return 0x85; + case TERM_L_BLUE: return 0x8D; + case TERM_RED: return 0x87; + case TERM_L_RED: return 0x8B; + case TERM_YELLOW: return 0x88; + case TERM_SLATE: return 0x8A; + case TERM_ORANGE: return 0x8B; + case TERM_VIOLET: return 0x8E; + default: return 0x85; + } + } + else return ((k_info[(o_ptr)->k_idx].aware) ? + (k_info[(o_ptr)->k_idx].x_char) : + (k_info[(o_ptr)->k_idx].d_char)); + } + else return ((k_info[(o_ptr)->k_idx].aware) ? + (k_info[(o_ptr)->k_idx].x_char) : + (k_info[(o_ptr)->k_idx].d_char)); + } + +