fix deco colors being 1 R/G/B value less than they should be

The proper way would be to divide by 255, but that is slower than >>8. This is a better approximation (or perhaps equivalent?)
This commit is contained in:
jacob1 2017-06-17 21:02:31 -04:00
parent 42b8f52611
commit c1e91260eb

View File

@ -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;
}
}