fix pile mark after killing a monster carrying a potion which is destroyed
only list known blank scrolls and known blank spellbooks as likely candidates
when choosing an item to write on for applied magic marker
+make status hilites use same color names as menucolors
Platform- and/or Interface-Specific Fixes
E void NDECL(set_playmode);
E int FDECL(sym_val, (char *));
E const char *FDECL(clr2colorname, (int));
+E int FDECL(match_str2clr, (char *));
E boolean FDECL(add_menu_coloring, (char *));
E boolean FDECL(get_menu_coloring, (char *, int *, int *));
E void NDECL(free_menu_coloring);
} else if (strcmpi(how, "normal") == 0) {
normal[i] = TRUE;
} else {
- int k;
- char colorname[BUFSZ];
- for (k = 0; k < CLR_MAX; ++k) {
- /* we have to make a copy to change space to dash */
- (void) strcpy(colorname, c_obj_colors[k]);
- for (tmp = index(colorname, ' '); tmp;
- tmp = index(colorname, ' '))
- *tmp = '-';
- if (strcmpi(how, colorname) == 0) {
- coloridx[i] = k;
- break;
- }
- }
+ int k = match_str2clr(how);
if (k >= CLR_MAX)
return FALSE;
+ coloridx[i] = k;
}
}
return (char *) 0;
}
+int
+match_str2clr(str)
+char *str;
+{
+ int i, c = NO_COLOR;
+
+ /* allow "lightblue", "light blue", and "light-blue" to match "light blue"
+ (also junk like "_l i-gh_t---b l u e" but we won't worry about that);
+ also copes with trailing space; mungspaces removed any leading space */
+ for (i = 0; i < SIZE(colornames); i++)
+ if (colornames[i].name
+ && fuzzymatch(str, colornames[i].name, " -_", TRUE)) {
+ c = colornames[i].color;
+ break;
+ }
+ if (i == SIZE(colornames) && (*str >= '0' && *str <= '9'))
+ c = atoi(str);
+ return c;
+}
+
const char *
attr2attrname(attr)
int attr;
if ((amp = index(tmps, '&')) != 0)
*amp = '\0';
- /* allow "lightblue", "light blue", and "light-blue" to match "light blue"
- (also junk like "_l i-gh_t---b l u e" but we won't worry about that);
- also copes with trailing space; mungspaces removed any leading space */
- for (i = 0; i < SIZE(colornames); i++)
- if (colornames[i].name
- && fuzzymatch(tmps, colornames[i].name, " -_", TRUE)) {
- c = colornames[i].color;
- break;
- }
- if (i == SIZE(colornames) && (*tmps >= '0' && *tmps <= '9'))
- c = atoi(tmps);
-
- if (c > 15)
+ c = match_str2clr(tmps);
+ if (c >= CLR_MAX)
return FALSE;
if (amp) {