diff --git a/celldrawer.cpp b/celldrawer.cpp index b6f80f57..e338824d 100644 --- a/celldrawer.cpp +++ b/celldrawer.cpp @@ -116,7 +116,15 @@ void celldrawer::addaura() { /* Eclectic City's version of Red Rock is of slightly different color, */ /* to make it different from hot cells */ void eclectic_red(color_t& col) { - part(col, 0) = part(col, 2) * 3 / 4; + if (!higher_contrast) { + part(col, 0) = part(col, 2) * 3 / 4; + } else { + auto v = part(col, 0) + part(col, 1) + part(col, 2); + auto t = part(col, 0); + part(col, 0) = part(col, 1); + part(col, 1) = part(col, 2); + part(col, 2) = t + v/3; + } } constexpr ld spinspeed = .75 / M_PI; @@ -718,7 +726,10 @@ int celldrawer::getSnakelevColor(int i, int last) { if(c->land == laEclectic) eclectic_red(col); } - return darkena(col, fd, 0xFF); + if (!higher_contrast) + return darkena(col, fd, 0xFF); + else + return darkena(col, 0, 0xFF); } void celldrawer::draw_wallshadow() { diff --git a/util.cpp b/util.cpp index 2b1c666c..74de04df 100644 --- a/util.cpp +++ b/util.cpp @@ -615,17 +615,17 @@ color_t exp_parser::parsecolor(int prio) { string token = next_token(); if(params.count(token)) return (color_t) real(params[token]->get_cld()); - auto p = find_color_by_name(s); + auto p = find_color_by_name(token); if(p) return (p->second << 8) | 0xFF; color_t res; - if(s.size() == 6) { - int qty = sscanf(s.c_str(), "%x", &res); + if(token.size() == 6) { + int qty = sscanf(token.c_str(), "%x", &res); if(qty == 0) throw hr_parse_exception("color parse error"); return res * 256 + 0xFF; } - else if(s.size() == 8) { - int qty = sscanf(s.c_str(), "%x", &res); + else if(token.size() == 8) { + int qty = sscanf(token.c_str(), "%x", &res); if(qty == 0) throw hr_parse_exception("color parse error"); return res; }