From c1e91260eb63ad3a4e59e9eb68732c45f59ba03b Mon Sep 17 00:00:00 2001 From: jacob1 Date: Sat, 17 Jun 2017 21:02:31 -0400 Subject: [PATCH] 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?) --- src/graphics/Renderer.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/graphics/Renderer.cpp b/src/graphics/Renderer.cpp index 7d691cb36..deb8d0684 100644 --- a/src/graphics/Renderer.cpp +++ b/src/graphics/Renderer.cpp @@ -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; } }