mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-02-25 07:20:09 +00:00
better darkening of the other side
This commit is contained in:
parent
804b489ebf
commit
d89882a30d
33
polygons.cpp
33
polygons.cpp
@ -1227,31 +1227,28 @@ purehookset hook_drawqueue;
|
|||||||
constexpr int PMAX = int(PPR::MAX);
|
constexpr int PMAX = int(PPR::MAX);
|
||||||
int qp[PMAX], qp0[PMAX];
|
int qp[PMAX], qp0[PMAX];
|
||||||
|
|
||||||
void darken_color(color_t& color) {
|
color_t darken_color(color_t& color, bool outline) {
|
||||||
int alpha = color & 255;
|
int alpha = color & 255;
|
||||||
if(sphere && pmodel == mdDisk && vid.alpha <= 1) {
|
if(sphere && pmodel == mdDisk && vid.alpha <= 1)
|
||||||
color = 0;
|
return 0;
|
||||||
|
else {
|
||||||
|
if(outline && alpha < 255)
|
||||||
|
return color - alpha + int(backbrightness * alpha);
|
||||||
|
else
|
||||||
|
return (gradient(backcolor, color>>8, 0, backbrightness, 1)<<8) | 0xFF;
|
||||||
}
|
}
|
||||||
else if(alpha == 255)
|
|
||||||
color = (gradient(backcolor, color>>8, 0, backbrightness, 1)<<8) | 0xFF;
|
|
||||||
else color = color - alpha + int(backbrightness * alpha);
|
|
||||||
}
|
|
||||||
|
|
||||||
void drawqueueitem::draw_darker() {
|
|
||||||
color_t c = color;
|
|
||||||
darken_color(color);
|
|
||||||
draw();
|
|
||||||
color = c;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void dqi_poly::draw_back() {
|
void dqi_poly::draw_back() {
|
||||||
color_t c = outline;
|
dynamicval<color_t> dvo(outline, darken_color(outline, true));
|
||||||
darken_color(outline);
|
dynamicval<color_t> dvc(color, darken_color(color, false));
|
||||||
drawqueueitem::draw_darker();
|
draw();
|
||||||
outline = c;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void dqi_line::draw_back() { draw_darker(); }
|
void dqi_line::draw_back() {
|
||||||
|
dynamicval<color_t> dvc(color, darken_color(color, true));
|
||||||
|
draw();
|
||||||
|
}
|
||||||
|
|
||||||
void dqi_boundary_circle::draw_pre() {
|
void dqi_boundary_circle::draw_pre() {
|
||||||
draw(), color = 0;
|
draw(), color = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user