Skip to content

Commit

Permalink
fix deco colors being 1 R/G/B value less than they should be
Browse files Browse the repository at this point in the history
The proper way would be to divide by 255, but that is slower than >>8. This is a better approximation (or perhaps equivalent?)
  • Loading branch information
jacob1 committed Jun 18, 2017
1 parent 42b8f52 commit c1e9126
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions src/graphics/Renderer.cpp
Expand Up @@ -1399,18 +1399,19 @@ void Renderer::render_parts()
//Apply decoration colour
if(!(colour_mode & ~COLOUR_GRAD) && decorations_enable && deca)
{
deca++;
if(!(pixel_mode & NO_DECO))
{
colr = (deca*decr + (255-deca)*colr) >> 8;
colg = (deca*decg + (255-deca)*colg) >> 8;
colb = (deca*decb + (255-deca)*colb) >> 8;
colr = (deca*decr + (256-deca)*colr) >> 8;
colg = (deca*decg + (256-deca)*colg) >> 8;
colb = (deca*decb + (256-deca)*colb) >> 8;
}

if(pixel_mode & DECO_FIRE)
{
firer = (deca*decr + (255-deca)*firer) >> 8;
fireg = (deca*decg + (255-deca)*fireg) >> 8;
fireb = (deca*decb + (255-deca)*fireb) >> 8;
firer = (deca*decr + (256-deca)*firer) >> 8;
fireg = (deca*decg + (256-deca)*fireg) >> 8;
fireb = (deca*decb + (256-deca)*fireb) >> 8;
}
}

Expand Down

0 comments on commit c1e9126

Please sign in to comment.