mirror of
https://github.com/The-Powder-Toy/The-Powder-Toy.git
synced 2025-08-10 18:34:21 +02:00
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:
@@ -1399,18 +1399,19 @@ void Renderer::render_parts()
|
|||||||
//Apply decoration colour
|
//Apply decoration colour
|
||||||
if(!(colour_mode & ~COLOUR_GRAD) && decorations_enable && deca)
|
if(!(colour_mode & ~COLOUR_GRAD) && decorations_enable && deca)
|
||||||
{
|
{
|
||||||
|
deca++;
|
||||||
if(!(pixel_mode & NO_DECO))
|
if(!(pixel_mode & NO_DECO))
|
||||||
{
|
{
|
||||||
colr = (deca*decr + (255-deca)*colr) >> 8;
|
colr = (deca*decr + (256-deca)*colr) >> 8;
|
||||||
colg = (deca*decg + (255-deca)*colg) >> 8;
|
colg = (deca*decg + (256-deca)*colg) >> 8;
|
||||||
colb = (deca*decb + (255-deca)*colb) >> 8;
|
colb = (deca*decb + (256-deca)*colb) >> 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(pixel_mode & DECO_FIRE)
|
if(pixel_mode & DECO_FIRE)
|
||||||
{
|
{
|
||||||
firer = (deca*decr + (255-deca)*firer) >> 8;
|
firer = (deca*decr + (256-deca)*firer) >> 8;
|
||||||
fireg = (deca*decg + (255-deca)*fireg) >> 8;
|
fireg = (deca*decg + (256-deca)*fireg) >> 8;
|
||||||
fireb = (deca*decb + (255-deca)*fireb) >> 8;
|
fireb = (deca*decb + (256-deca)*fireb) >> 8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user